模板內的表示式非常便利,但是設計它們的初衷是用於簡單運算的。在模板中放入太多的邏輯會讓模板過重且難以維護。例如:
"example"
>
}<
/div>在這個地方,模板不再是簡單的宣告式邏輯。你必須看一段時間才能意識到,這裡是想要顯示變數 message 的翻轉字串。當你想要在模板中多包含此處的翻轉字串時,就會更加難以處理。
所以,對於任何複雜邏輯,你都應當使用計算屬性。
>
}var vm =
newvue(,
computed:
//reversemsg中的內容是通過function函式計算所得出}}
);
其中reversemsg函式中的結果是根據msg的內容來進行計算所得
getter與setter函式
var vm =
newvue(,
computed:,}
}});
console.
log(vm.reversemsg)
;
列印結果:
以下概念摘自vue官網:
你可以像繫結普通 property 一樣在模板中繫結計算屬性。vue 知道vm.reversedmessage
依賴於vm.message
,因此當vm.message
發生改變時,所有依賴vm.reversedmessage
的繫結也會更新。而且最妙的是我們已經以宣告的方式建立了這種依賴關係:計算屬性的getter
函式是沒有*** (side effect) 的,這使它更易於測試和理解。
你可以開啟瀏覽器的控制台,自行修改例子中的 vm。vm.reversedmessage
的值始終取決於vm.message
的值。
計算屬性預設只有 getter,不過在需要時你也可以提供乙個 setter:
setter函式用於賦值
var vm =
newvue(,
computed:
,set
:function
(newvalue)}}
});
console.
log(vm.reversemsg)
;
在頁面中執行vm.reversemsg="123456789"
,預設執行set函式。
vue學習 筆記
v model 雙向繫結 v if v else if v else v on 繫結事件 v bind 繫結資料 v cloak 當vue未初始化完成前可不顯示為賦值的 vue屬性名稱 需要給v cloak設定 display none v for i迴圈次數 a資料中的資料 arr定義的陣列 最好...
vue學習筆記
vue學習筆記 從7月2日到7月4日三天的學習成果 一 vue的起步 及配置環境 3 使用vue cli快速搭建vue專案vue init webpack 為專案名 建立成功需要等待一段時間 4 輸入npm run dev編譯專案,成功後根據提示或根據修改的埠號登陸 lacalhost 5.看到下圖...
vue 學習筆記
1.v if v show區別 v if 是 真正 的條件渲染,因為它會確保在切換過程中條件塊內的事件 和子元件適當地被銷毀和重建。v if 也是惰性的 如果在初始渲染時條件為假,則什麼也不做 直到條件第一次變為真時,才會開始渲染條件塊。相比之下,v show 就簡單得多 不管初始條件是什麼,元素總...