var example2 = new Vue({
el: '#example-2',
data: {
name: 'Vue.js'
},
// 在 `methods` 對象中定義方法
methods: {
greet: function (event) {
// `this` 在方法里指當前 Vue 實例
alert('Hello ' + this.name + '!')
// `event` 是原生 DOM 事件
alert(event.target.tagName)
}
}
})
// 也可以用 JavaScript 直接調用方法
example2.greet() // -> 'Hello Vue.js!'
vm.$data是vm的data屬性;
vm.$el是el屬性指向的dom結點;
vm.$watch是監視屬性變化
vm.$mount:掛載dom結點;
beforeCompile:加載模板之前;
compiled:加載模板之后;
ready:完成之后(我猜的);
beforeDestroy:摧毀之前;
destroyed:摧毀之后;
vue全局API 1.extend 構造器 <div id="mount-point"></div> var Profile=Vue.extend({ template:'<p>{{name}}</p>', data:function(){ return{ name:"名字" } } }) new Profile().$mount('#mount-point') 2.Vue.nextTick([callback,context]) 異步更新隊列 vm.msg="hello" Vue.nextTick(function(){ //DOM更新了 }) 3.Vue.set(object,key,value) 設置的值 4.Vue.delete(object,key) 刪除對象屬性 5.Vue.directive(id.[definition]) 注冊全局指令 Vue.directive('my-directive',{ bind:function(){}, inserted:function(){}, update:function(){}, componentUpdated:function(){}, unbind:function(){} }) Vue.directive('my-directive',function(){ //這里將會被'bind'和'update'調用 }) var myDirective=Vue.directive('my-directive') 6.Vue.filter(id,[definition]) 過濾 Vue.filter('my-filter',function(value){ //返回處理后的至 return }) var myFilter=Vue.filter('my-filter') 7.Vue.component(id,[definition]) 注冊組件 Vue.component('my-component',Vue.extend({ })); var MyComponent=Vue.component('my-component') 8.Vue.use() 引入插件 9.Vue.mixin() 10.Vue.compile(template) 編譯模版字符串 var res=Vue.complie('<div>{{msg}}</div>') new Vue({ data:{ msg:'hello' }, render:res.render, staticRenderFns:res.staticRenderFns }) 數據 1.data 2.props 接收父組件數據 3.propsData 創建傳遞,方便測試 var Comp=Vue.extend({ props:['msg'], template:'<div>{{msg}}</div>' }) var vm=new Comp({ propsData:{ msg:'hello' } }) 4.computed 計算屬性 var vm=new Vue({ data:{ a:1 }, computed:{ aDouble:function(){ return this.a*2 }, aPlus:{ get:function(){ return this.a+1 } } } }) 5.methods 方法 var vm=new Vue({ data:{ a:1 }, methods:{ click(){ console.log(this.a) } } }) 6.watch 觀察 var vm=new Vue({ data:{ a:1, b:2, c:3 }, watch:{ a:function(){ console.log("a改變了"); } } }) DOM 1.el 2.template 3.render 生命周期 1.beforeCreate 實例初始化之后 2.created 創建完成之后調用 3.beforeMount 掛載開始關被調用 4.mounted 掛載 5.beforeUpdate 數據更新時調用 6.updated 數據更新