vue组件基础
登录
' }); Vue.component('login', login); 直接使用 Vue.component 方法: Vue.component('register', { template: '注册
' }); 将模板字符串,定义到script标签种: 同时,需要使用 Vue.component 来定义组件: Vue.component('account', { template: '#tmpl' }); 注意: 组件中的DOM结构,有且只能有唯一的根元素(Root Element)来进行包裹! 组件中展示数据和响应事件 在组件中,data需要被定义为一个方法,例如: Vue.component('account', { template: '#tmpl', data() { return { msg: '大家好!' } }, methods:{ login(){ alert('点击了登录按钮'); } } }); 在子组件中,如果将模板字符串,定义到了script标签中,那么,要访问子组件身上的data属性中的值,需要使用this来访问; 【重点】为什么组件中的data属性必须定义为一个方法并返回一个对象 通过计数器案例演示 使用components属性定义局部子组件 组件实例定义方式: 引用组件:登录组件
注册组件
这是一个大大的H1
登录组件
' }); // 4.2 使用 Vue.extend 来创建注册组件 var register = Vue.extend({ template: '注册组件
' }); 创建一个路由 router 实例,通过 routers 属性来定义路由匹配规则 // 5. 创建一个路由 router 实例,通过 routers 属性来定义路由匹配规则 var router = new VueRouter({ routes: [ { path: '/login', component: login }, { path: '/register', component: register } ] }); 使用 router 属性来使用路由规则 // 6. 创建 Vue 实例,得到 ViewModel var vm = new Vue({ el: '#app', router: router // 使用 router 属性来使用路由规则 }); 设置路由高亮 设置路由切换动效 在路由规则中定义参数 在规则中定义参数: { path: '/register/:id', component: register } 通过 this.$route.params来获取路由中的参数: var register = Vue.extend({ template: '注册组件 --- {{this.$route.params.id}}
' }); 使用 children 属性实现路由嵌套
+
=
{{fullName}}
监听路由对象的改变:
+
=
{{fullName}}
定义有getter和setter的计算属性:
{{fullName}}
watch、computed和methods之间的对比
computed属性的结果会被缓存,除非依赖的响应式属性变化才会重新计算。主要当作属性来使用;
methods方法表示一个具体的操作,主要书写业务逻辑;
watch一个对象,键是需要观察的表达式,值是对应回调函数。主要用来监听某些特定数据的变化,从而进行某些具体的业务逻辑操作;可以看作是computed和methods的结合体;
nrm的安装使用
作用:提供了一些最常用的NPM包镜像地址,能够让我们快速的切换安装包时候的服务器地址;
什么是镜像:原来包刚一开始是只存在于国外的NPM服务器,但是由于网络原因,经常访问不到,这时候,我们可以在国内,创建一个和官网完全一样的NPM服务器,只不过,数据都是从人家那里拿过来的,除此之外,使用方式完全一样;
运行npm i nrm -g全局安装nrm包;
使用nrm ls查看当前所有可用的镜像源地址以及当前所使用的镜像源地址;
使用nrm use npm或nrm use taobao切换不同的镜像源地址;
相关文件
URL中的hash(井号)
