乙個 vue 應用由乙個通過new vue
建立的根 vue 例項,以及可選的巢狀的、可復用的元件樹組成。舉個例子,乙個 todo 應用的元件樹可以是這樣的:
根例項└─ todolist
├─ todoitem
│ ├─ deletetodobutton
│ └─ edittodobutton
└─ todolistfooter
├─ cleartodosbutton
└─ todoliststatistics
資料與方法
當乙個 vue 例項被建立時,它向 vue 的響應式系統中加入了其data
物件中能找到的所有的屬性。當這些屬性的值發生改變時,檢視將會產生「響應」,即匹配更新為新的值。
// 我們的資料物件var data =
// 該物件被加入到乙個 vue 例項中
var vm = new vue()
// 獲得這個例項上的屬性
// 返回源資料中對應的字段
vm.a == data.a // => true
// 設定屬性也會影響到原始資料
vm.a = 2
data.a // => 2
// ……反之亦然
data.a = 3
vm.a // => 3
當這些資料改變時,檢視會進行重渲染。值得注意的是只有當例項被建立時data
中存在的屬性才是響應式的。也就是說如果你新增乙個新的屬性,比如:
vm.b = 'hi'
那麼對b
的改動將不會觸發任何檢視的更新。如果你知道你會在晚些時候需要乙個屬性,但是一開始它為空或不存在,那麼你僅需要設定一些初始值。比如:
data:
這裡唯一的例外是使用object.freeze()
,這會阻止修改現有的屬性,也意味著響應系統無法再追蹤變化。
var obj =object.freeze(obj)
new vue()
}p>v-on:click="foo = 'baz'">change itbutton>
div>
除了資料屬性,vue 例項還暴露了一些有用的例項屬性與方法。它們都有字首$
,以便與使用者定義的屬性區分開來。例如:
var data =var vm = new vue()
vm.$data === data // => true
vm.$el === document.getelementbyid('example') // => true
// $watch 是乙個例項方法
vm.$watch('a', function (newvalue, oldvalue) )
Vue 方法與事件
有引數要加括號 或者傳入引數 data methods 如果方法中帶有引數,但是繫結事件時沒有加括號,預設傳遞的引數是原生事件物件 event 與上面的效果相同 按鈕 每次提交表單都會過載頁面只執行一次 data methods btnclick function handle function o...
vue 傳遞多行資料 vue 資料傳遞的方法
元件 component 是 vue.js 最強大的功能。元件可以封裝可重用的 通過傳入物件的不同,實現元件的復用,但元件傳值就成為乙個需要解決的問題。1.父元件向子元件傳值 元件例項的作用域是孤立的。這意味著不能在子元件的模板內直接引用父元件的資料。要讓子元件使用父元件的資料,我們需要通過子元件的...
Vue第二課資料與方法
vm一般代表vue的例項 var 乙個物件data1和vue物件中的data是不同的!var出的是乙個物件,vue中的是乙個屬性!在vue物件外對data賦值 data.a a為data的變數名。體現出了vue的響應式渲染!符 號賦 值,符號賦值,符號賦值 watch方法 觀察乙個變數的變化獲取變化...