1. 程式人生 > >Vue.extend構造器的延伸 Vue.set全域性操作

Vue.extend構造器的延伸 Vue.set全域性操作

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <script type="text/javascript" src="../assets/js/vue.js"></script> <title>vue.extend-擴充套件例項構造器</title></head><body> <h1>vue.extend-擴充套件例項構造器</h1> <hr> <
author></author> <script type="text/javascript"> var authorExtend = Vue.extend({ template:"<p><a :href='authorUrl'>{{authorName}}</a></p>", data:function(){ return{ authorName:'JSPang', authorUrl:
'http://www.jspang.com' } } }); new authorExtend().$mount('author'); </script></body></html>

看一個簡單的程式碼:

//在構造器外部宣告資料
 var outData={
    count:1,
    goodName:'car'
};
var app=new Vue({
    el:'#app',
    //引用外部資料
    data:outData
})

在外部改變資料的三種方法:

1、用Vue.set改變

function add(){
       Vue.set(outData,'count',4);
 }

2、用Vue物件的方法新增

1app.count++;

3、直接操作外部資料

1outData.count++;

為什麼要有Vue.set的存在?

由於Javascript的限制,Vue不能自動檢測以下變動的陣列。

*當你利用索引直接設定一個項時,vue不會為我們自動更新。

*當你修改陣列的長度時,vue不會為我們自動更新。