props
属性来定义父组件递过来的数据
v-bind
或简化指令,将数据传递到子组件中:
1.原理:父组件将方法的引用,传递到子组件内部,子组件在内部调用父组件传递过来的放大,同时把要发送给父组件的数据,在调用方法的时候当作参数传递进去;
2.父组件将方法的引用传递给子组件,其中,getMsg
是父组件中methods
中定义的方法名称,func
是子组件调用传递过来方法时候的方法名称
3.子组件内部通过this.Semit('方法名', 要传递的数据)
方式,来调用父组件的方法,同时把数据传递给父组件使用
目标: 主要练习父子组件之间传值
this.$refs
来获取元素和组件
这是一个大大的H1
3.在单页面应用程序中,这种通过hash改变来切换页面的方式,称作前端路由 (区别于后端路由);
2.使用 router-link 组件来导航
登录
注册
3.使用 router-view 组件来显示匹配的组件
4.创建使用 Vue.extend
创建组件
//4.1 使用Vue.extend 来创建登录组件
var login = Vue.extend({
template: '登录组件
'
});
//4.2 使用Vue.extend 来创建注册组件
var register = Vue.extend({
template: '注册组件
'
});
//5.创建一个路由 router 实例, 通过 routers 属性来定义路由匹配规则
var router = new VueRouter({
routers: {
{path: '/login', component: login },
{path: '/register', component: register },
}
});
//6. 创建 Vue 实例, 得到ViewModel
var vm = new Vue({
el: '#app',
data: {},
router: router// 使用 router 属性来使用路由规则
})
{ path: '/register/:id', component: register }
this.$route.params
来获取路由中的参数: var register = Vue.extend({
template: ' 注册组件 ---- {{ this.$route.params.id }}
'
});
children
属性实现路由嵌套
Account
1.标签代码结构
2.JS 代码
3.CSS 样式:
考虑一个问题: 想要实现 名
和姓
两个文本框的内容改变,则全名的文本框中的值也跟着改变; (用以前的知识如何实现???)
data
中属性的改变:
+
=
{{fullName}}
2.监听路由对象的改变:
登录
注册
computed
计算属性的使用getter
的计算属性:
+
=
{{ fullName }}
getter
和 setter
的计算属性:
{{ fullName }}
watch
、 computed
和 methods
之间的对比computed
属性的结果会被缓存, 除非依赖的响应式属性变化才会重新计算。 主要当作属性来使用;methods
方法表示一个具体的操作, 主要书写业务逻辑;watch
一个对象, 键 是需要观察的表达式,值 是对应的回调函数。 主要用来监听某些特定数据的变化,从而进行某些具体的业务逻辑操作; 可以看作是 computed
和 methods
的结合体;nrm
的安装使用作用: 提供了一些常用的NPM包镜像地址,能够让我们快速的切换安装包时候的服务器地址;
声明是镜像: 原来包刚一开始是只存在于国外的NPM服务器,但是由于网络原因,经常访问不到,这时候,我们可以在国内,创建一个和官网完全一样的NPM服务器,只不过,数据都是从人家那里拿过来的,除此之外,使用方式完全一样;
1.运行 npm i nrm -g
全局安装 nrm
包;
2.使用nrm ls
查看当前所有可用的镜像源地址以及当前所使用的镜像源地址;
3.使用nrm use npm
或 nrm use taobao
切换不同的镜像源地址;
1.【URL 中的 hash (井号)】(http://www.cnblogs.com/joyho/articles/4430148.html)