關於vue元件中元件內部資料繫結通過data()}
進行
data不是乙個物件型別,需要是乙個函式型別,如果傳入非函式型別會報錯
乙個小例子:
對於obj型別,如果在{}內部返回或者引用外部的obj,由於引用的是位址,會指向同乙個物件,所以如果obj定義在for迴圈外部最終結果,均為[,,,]
即指向同乙個位址
let key =
'url'
let arr2 =
let arr =[1
,2,3
,4]for
(let i =
0; i < arr.length; i++
) obj[key]
= arr[i]
arr2.
push
(obj)
} console.
log(arr2,
'arr2'
)//0: [, ,,]
對於函式中進行obj返回,如果返回乙個命名的obj,則如果呼叫這個函式,生成的物件均是同乙個物件,其中乙個修改其餘均會變化,
如果直接返回乙個物件,則每次生成的均不是同一物件,不會產生同步修改問題
function
creatobj()
;}a=
creatobj()
b=creatobj()
c=creatobj()
console.
log(a, b, c )
a.aaa=
4
>
<
/tpl>
<
/div>
"tpl"
>
"count--"
>
-<
/button>
當前計數
}<
/div>
"count++"
>
+<
/button>
<
/div>
<
/template>
<
/body>
vue.
component
("tpl",}
});new
vue(
)<
/script>
vue元件中data為什麼是個函式
在vue的開發中,我們在元件中採用函式這種格式 data 在vue例項中採用的是物件這種格式 data 那麼為什麼要在元件中採用函式的方式呢?首先元件是多次使用的,也就是復用。當我們多次呼叫乙個元件,肯定不希望元件中資料是相互聯通的。所以在此使用函式的方式return乙個物件,這樣每次呼叫元件返回的...
Vue元件中data選項為什麼必須是函式
官方解釋 data 必須是函式 構造 vue 例項時傳入的各種選項大多數都可以在元件裡使用。只有乙個例外 data 必須是函式。實際上,如果你這麼做 vue.component my component span data 那麼 vue 會停止執行,並在控制台發出警告,告訴你在元件例項中 data ...
vue中元件的data為什麼是乙個函式
元件是可復用的vue例項,乙個元件被建立好之後,就可能被用在各個地方,而元件不管被復用了多少次,元件中的data資料都應該是相互隔離,互不影響的,基於這一理念,元件每復用一次,data資料就應該被複製一次,之後,當某一處復用的地方元件內data資料被改變時,其他復用地方元件的data資料不受影響,如...