2017-01-03 17:51
关注Vue也很久了,第一次知道它,对它的印象是小,只有18K。 下面通过这几个例子来介绍它,基于目前最新版本的vue2.X
a
https://github.com/raclen/jsCode/tree/master/vuejs tips 有的时候 不光模板里面需要用到props里面的值,在methods里面也需要用到,在这我们就可以初始化props的值
props: ['initialCounter'],
data: function () {
return { counter: this.initialCounter }
}
定义一个计算属性,处理 prop 的值并返回。
这个也很好用,比如服务端给的数据为
"value": "[\"老人身份证\",\"残疾人证\",\"导游资格证\"]",
我们需要对这个value处理一下 在显示,就可以使用以下代码
在模板里面这样写{{normalizedSize}}
props: ['size'],
computed: {
normalizedSize: function () {
return this.size.trim().toLowerCase()
}
}
下面是vue生命周期
非父子组件通信 var bus = new Vue()a
// 触发组件 A 中的事件 bus.$emit('id-selected', 1)
// 在组件 B 创建的钩子中监听事件 bus.$on('id-selected', function (id) { // ... }) computed用于计算属性(当前data没有某个值,计算出一个值后,取法就像去data里面的值) 用过一段时间vue你可能会发现 短时间内改变某个值无效 这是vue的Tick机制,我们可以这样写
Vue.component('example', {
template: '<span>{{ message }}</span>',
data: function () {
return {
message: 'not updated'
}
},
methods: {
updateMessage: function () {
this.message = 'updated'
console.log(this.$el.textContent) // => '没有更新'
this.$nextTick(function () {
console.log(this.$el.textContent) // => '更新完成'
})
}
}
})
整体感觉,语法丰富灵活,生态好(比react中文资料多,相比较angular2,提起来的不多了),没有编译模板之类,入门容易,还是觉得有点随意,0.9->1.X->2.X都变化很大,不向下兼容,对后期维护人员不友好
深入响应式原理 vue-router 60分钟快速入门 vue中文文档 https://router.vuejs.org