package.json不可以写注释!!!!!!!!!!
初始化:npm init -y

有时候使用 npm i node-sass -D 装不上,这时候,就必须使用  cnpm i node-sass -D

在普通页面中使用render函数渲染组件

在webpack中配置.vue组件页面的解析

1. 运行 cnpm i vue -S 将vue安装为运行依赖;

2. 运行 cnpm i vue-loader vue-template-compiler -D 将解析转换vue的包安装为开发依赖;

3. 运行 cnpm i style-loader css-loader -D 将解析转换CSS的包安装为开发依赖,因为.vue文件中会写CSS样式;

4. 在 webpack.config.js 中,添加如下 module 规则:

module: {
rules: [
{ test: /\.css$/, use: ['style-loader', 'css-loader'] },
{ test: /\.vue$/, use: 'vue-loader' } ]
}

5. 创建 App.js 组件页面:

    <template>
<!-- 注意:在 .vue 的组件中,template 中必须有且只有唯一的根元素进行包裹,一般都用 div 当作唯一的根元素 -->
<div>
<h1>这是APP组件 - {{msg}}</h1>
<h3>我是h3</h3>
</div>
</template>
    <script>
// 注意:在 .vue 的组件中,通过 script 标签来定义组件的行为,需要使用 ES6 中提供的 export default 方式,导出一个vue实例对象
export default {
data() {
return {
msg: 'OK'
}
}
}
</script>
    <style scoped>
h1 {
color: red;
}
</style>

6. 创建 main.js 入口文件:

    // 导入 Vue 组件
import Vue from 'vue'
// 导入 App组件
import App from './components/App.vue'
// 创建一个 Vue 实例,使用 render 函数,渲染指定的组件
var vm = new Vue({
el: '#app',
render: c => c(App)
});

在使用webpack构建的Vue项目中使用模板对象?

1. 在 webpack.config.js 中添加 resolve 属性:

resolve: {
alias: {
'vue$': 'vue/dist/vue.esm.js'
}
}

ES6中语法使用总结

1. 使用  export default  和  export  导出模块中的成员; 对应ES5中的  module.exports  和  export

2. 使用  import   from   和  import '路径'` 还有  import {a, b} from '模块标识'` 导入其他模块

3. 使用箭头函数:`(a, b)=> { return a-b; }`

在vue组件页面中,集成vue-router路由模块

[vue-router官网](https://router.vuejs.org/)

1. 导入路由模块:

import VueRouter from 'vue-router'

2. 安装路由模块:

Vue.use(VueRouter);

3. 导入需要展示的组件:

import login from './components/account/login.vue'
import register from './components/account/register.vue'

4. 创建路由对象:

var router = new VueRouter({
routes: [
{ path: '/', redirect: '/login' },
{ path: '/login', component: login },
{ path: '/register', component: register }
]
});

5. 将路由对象,挂载到 Vue 实例上:

var vm = new Vue({
el: '#app',
// render: c => { return c(App) }
render(c) {
return c(App);
},
router // 将路由对象,挂载到 Vue 实例上
});

6. 改造App.vue组件,在 template 中,添加 router-link 和 router-view :

  <router-link to="/login">登录</router-link>
<router-link to="/register">注册</router-link>
<router-view></router-view>

组件中的css作用域问题

抽离路由为单独的模块

使用 饿了么的 MintUI 组件

[Github 仓储地址](https://github.com/ElemeFE/mint-ui)

[Mint-UI官方文档](http://mint-ui.github.io/#!/zh-cn)

1. 导入所有MintUI组件:

import MintUI from 'mint-ui'

2. 导入样式表:

import 'mint-ui/lib/style.css'

3. 在 vue 中使用 MintUI:

Vue.use(MintUI)

4. 使用的例子:

<mt-button type="primary" size="large">primary</mt-button>

使用 MUI 组件
[官网首页](http://dev.dcloud.net.cn/mui/)
[文档地址](http://dev.dcloud.net.cn/mui/ui/)

1. 导入 MUI 的样式表:

import '../lib/mui/css/mui.min.css'

2. 在 webpack.config.js 中添加新的loader规则:

{ test: /\.(png|jpg|gif|ttf)$/, use: 'url-loader' }

3. 根据官方提供的文档和example,尝试使用相关的组件

将项目源码托管到oschina中

1. 点击头像 -> 修改资料 -> SSH公钥 [如何生成SSH公钥](http://git.mydoc.io/?t=154712)

2. 创建自己的空仓储,使用  git config --global user.name "用户名"` 和  git config --global user.email ***@**.com  来全局配置提交时用户的名称和邮箱

3. 使用  git init  在本地初始化项目

4. 使用  touch README.md  和  touch .gitignore  来创建项目的说明文件和忽略文件;

5. 使用  git add .` 将所有文件托管到 git 中

6. 使用  git commit -m "init project"` 将项目进行本地提交

7. 使用  git remote add origin 仓储地址 将本地项目和远程仓储连接,并使用origin最为远程仓储的别名

8. 使用  git push -u origin master  将本地代码push到仓储中

App.vue 组件的基本设置

1. 头部的固定导航栏使用  Mint-UI  的  Header  组件;

2. 底部的页签使用  mui  的  tabbar`;

3. 购物车的图标,使用  icons-extra  中的  mui-icon-extra mui-icon-extra-cart ,同时,应该把其依赖的字体图标文件  mui-icons-extra.ttf ,复制到  fonts  目录下!

4. 将底部的页签,改造成  router-link  来实现单页面的切换;

5. Tab Bar 路由激活时候设置高亮的两种方式:

+ 全局设置样式如下:

     .router-link-active{
color:#007aff !important;
}

+ 或者在  new VueRouter  的时候,通过  linkActiveClass  来指定高亮的类:

     // 创建路由对象
var router = new VueRouter({
routes: [
{ path: '/', redirect: '/home' }
],
linkActiveClass: 'mui-active'
});

实现 tabbar 页签不同组件页面的切换

1. 将 tabbar 改造成  router-link  形式,并指定每个连接的  to  属性;

2. 在入口文件中导入需要展示的组件,并创建路由对象:

    // 导入需要展示的组件
import Home from './components/home/home.vue'
import Member from './components/member/member.vue'
import Shopcar from './components/shopcar/shopcar.vue'
import Search from './components/search/search.vue'
// 创建路由对象 var router = new VueRouter({
routes: [
{ path: '/', redirect: '/home' },
{ path: '/home', component: Home },
{ path: '/member', component: Member },
{ path: '/shopcar', component: Shopcar },
{ path: '/search', component: Search }
],
linkActiveClass: 'mui-active'
});

使用 mt-swipe 轮播图组件

1. 假数据:

lunbo: [
'http://www.itcast.cn/images/slidead/BEIJING/2017440109442800.jpg',
'http://www.itcast.cn/images/slidead/BEIJING/2017511009514700.jpg',
'http://www.itcast.cn/images/slidead/BEIJING/2017421414422600.jpg'
]

2. 引入轮播图组件:

<!-- Mint-UI 轮播图组件 -->
<div class="home-swipe">
<mt-swipe :auto="4000">
<mt-swipe-item v-for="(item, i) in lunbo" :key="i">
<img :src="item" alt="">
</mt-swipe-item>
</mt-swipe>
</div>
</div>

在`.vue 组件中使用 vue-resource 获取数据

1. 运行 cnpm i vue-resource -S 安装模块

2. 导入 vue-resource 组件

import VueResource from 'vue-resource'

3. 在vue中使用 vue-resource 组件

Vue.use(VueResource);

vue rules验证规则

参考博客

VUE学习笔记二的更多相关文章

  1. vue学习笔记(二)vue的生命周期和钩子函数

    前言 通过上一章的学习,我们已经初步的了解了vue到底是什么东西,可以干什么,而这一篇博客主要介绍vue的生命周期和它常用的钩子函数,如果有学过java的园友可能有接触到在学习servlet的时候学过 ...

  2. Vue学习笔记二:v-cloak,v-text,v-html的使用

    目录 v-cloak:解决插值表达式闪烁问题 安装插件Live Server 右键以HTTP形式运行HTML v-text:以属性方式使用插值表达式 v-cloak和v-text的区别 v-html: ...

  3. VUE 学习笔记 二 生命周期

    1.除了数据属性,Vue 实例还暴露了一些有用的实例属性与方法.它们都有前缀 $,以便与用户定义的属性区分开来 var data = { a: 1 } var vm = new Vue({ el: ' ...

  4. vue学习笔记二:v-if和v-show的区别

    v-if vs v-show v-if 是“真正的”条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建. v-if 也是惰性的:如果在初始渲染时条件为假,则什么也不做—— ...

  5. vue学习笔记(三)class和style绑定

    前言 通过上一章的学习vue学习笔记(二)vue的生命周期和钩子函数,我们已经更近一步的知道了关于vue的一些知识,本篇博客将进一步探讨vue其它方面的内容,vue中关于class和style绑定,关 ...

  6. Vue学习笔记-Vue.js-2.X 学习(二)===>组件化开发

    ===重点重点开始 ========================== (三) 组件化开发 1.创建组件构造器: Vue.extends() 2.注册组件: Vue.component() 3.使用 ...

  7. vue 学习笔记(二)

    最近公司赶项目,一直也没时间看 vue,之前看下的都快忘得差不多了.哈哈哈,来一起回顾一下vue 学习笔记(一)后,继续向下看嘛. #表单输入绑定 基础用法 v-model 会忽略所有表单元素的 va ...

  8. vue学习笔记(八)组件校验&通信

    前言 在上一章博客的内容中vue学习笔记(七)组件我们初步的认识了组件,并学会了如何定义局部组件和全局组件,上一篇内容仅仅只是对组件一个简单的入门,并没有深入的了解组件当中的其它机制,本篇博客将会带大 ...

  9. vue学习笔记(九)vue-cli中的组件通信

    前言 在上一篇博客vue学习笔记(八)组件校验&通信中,我们学会了vue中组件的校验和父组件向子组件传递信息以及子组件通知父组件(父子组件通信),上一篇博客也提到那是对组件内容的刚刚开始,而本 ...

随机推荐

  1. 测试工具 - IDEA - IDEA Code Coverage

    概述 使用 idea 自带的 code coverage 工具 背景 了解 白盒测试用例设计 和 测试覆盖率 之后, 大概就需要 实践 了 实践的话, 还是需要 工具 来检验效果 工具选取 选项 Ja ...

  2. Linux - Shell - 字符串拼接

    概述 shell 的字符串拼接 1. 字符串声明 概述 字符串的基本操作 脚本 1 # 声明字符串 str01="str01" echo ${str01} # 单引号也可以 # 不 ...

  3. Linux - seq

    1. 概述 生成序列的命令 之前貌似写过 seq 命令, 这次单独拉出来再写一次吧 节操先放一放 2. 命令 1. 帮助 命令 # 输出我就不打了, # 这个命令可用, 证明组件可用 > seq ...

  4. VS2017编译错误:#error: Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version

    VS2017编译错误:#error: Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll ve ...

  5. Centos6.10-FastDFS-Storage-Nginx配置

    nginx+fastdfs-nginx-module 安装此处省略. 1.进入工作目录 cd /usr/local/nginx/conf 2.创建子目录 mkdir configs 3.创建stora ...

  6. Python整合pdf【新手必学】

    在下载课件时往往会分成很多个小的pdf,一个也就几页,想要整合成一整个大pdf,于是百度了一下,网上有很多在线的pdf整合器,但是由于这蛋疼的网速,流量还要花钱,还是想要本地搞. 说python是万能 ...

  7. 树莓派安装raspbian并配置开发环境

    1.烧录系统 首先准备好我们要烧录的raspbian系统,可以在树莓派官网中下载https://www.raspberrypi.org/downloads/ 这里我们选择 2018-11-13-ras ...

  8. 【PAT甲级】1078 Hashing (25 分)(哈希表二次探测法)

    题意: 输入两个正整数M和N(M<=10000,N<=M)表示哈希表的最大长度和插入的元素个数.如果M不是一个素数,把它变成大于M的最小素数,接着输入N个元素,输出它们在哈希表中的位置(从 ...

  9. 四级技能修炼NPC脚本参考

    [@main] #act CloseBigDialogBox #say \ \ <本服推出部分四级技能.升级四级技能很简单./SCOLOR=250>\ \ <只需要1个/SCOLOR ...

  10. centos7一步一步搭建docker tomcat 及重点讲解

    系统环境:centos7.7 (VMware中) image版本:tomcat:8-jdk8-openjdk (截止2020.01.10该系列版本) 安装步骤参考文章:https://www.jian ...