2016-05-14
v-if-else:
v-on: 事件处理器
v-on:keyup="txtKeyup($event)"
当然,这需要 jquery
的选择器支持this.srcElement.tagName
, id, innerHtml
来输出, 同时可以用 event.key ? event.key : ""
来打印出按了那个键匈牙利命名法 btnOK
Computed: {
priceInTax: {
get: function(){
return this.price*1.08;
},
set: function(){
this.price = value/1.08
}
}
}
计算属性 总而言之就是和 data, method 是一样的 data 类型,在 html 声明 `` 就可以取得计算之后的值,和我们 llf 里面的 update 之类的方法其实效果相同!!!! 这个就太棒了!
priceInTax
会走get, 赋值给 priceInTax
会走 set.Watch
Watch: {
price: function(newVal,oldVal){
console.log(newVal,oldVal);
this.priceInTax = Math.round(this.price*1.08);
this.princeChinaRMB = Math.round(this.priceInTax/16.75)
}
}
表单控件绑定 v-model
v-model
中多个对象绑定一个 array
,既可以实现复选框元素显示 v-show
v-show
不显示的元素不会消失!!!
通过Vue构造器传入的各种选项大多数都可以在组件里用。 data 是一个例外,它必须是函数。 实际上,如果你这么做:
Vue.component('my-component', {
template: '<span></span>',
data: {
message: 'hello'
}
})
var data = { counter: 0 }
Vue.component('simple-counter', {
template: '<button v-on:click="counter += 1"></button>',
// 技术上 data 的确是一个函数了,因此 Vue 不会警告,
// 但是我们返回给每个组件的实例的却引用了同一个data对象
data: function () {
return data
}
})
new Vue({
el: '#example-2'
})
router切换时,原来的组件确实已经销毁了,你可以看到ready生命周期函数是每次都触发了的。你这里的问题不在于组件是否销毁,因为setInterval事件本身和组件没有关系。
setInterval相当于该组件申请的一种资源,在使用该组件时获取,在离开该组件时释放。这个过程只能是你手动进行的。所以你应该在离开该组件时,比如 route 的 deactivate 或者 beforeDestroy 生命周期函数里手动 clearInterval。
其实很多框架里都是这样,比如桌面程序中某个窗口初始化时需要打开数据库连接(我们也可以视为一种资源),当窗口关闭时,程序本身并不知道“打开数据库连接”的反向操作是什么。所以我们需要在窗口销毁的回调方法里手动去释放这个资源,去写断开连接的代码。