我想將Vue與預先呈現的HTML一起使用。從長遠來看,我們可能不會,但現在離開服務器代碼並使用Vue管理Web應用程序的客戶端邏輯似乎更容易。使用現有HTML中的數據加載Vue視圖模型
我似乎無法找到任何描述如何讓視圖模型從HTML加載其數據的內容。我的例子將與https://github.com/vuejs/Discussion/issues/56相同。即使這個問題是封閉的(並且是固定的),我似乎無法讓它在1.x或2.x中工作。
當我設置了一些HTML
<div id="myvue">
<span v-text="message">Hello!</span>
</div>
,然後創建一個視圖模型爲它
var vm = new Vue({
el: '#myvue'
});
我希望能有來自HTML數據水合VM對象,使vm.message == 'Hello!'
是正確的。但是這並沒有發生。我剛剛結束了一個錯誤,指出message
不與1版定義的2.0版本,我得到的是說Property or method "message" is not defined on the instance but referenced during render. Make sure to declare reactive data properties in the data option.
但警告,當我宣佈data屬性在VM像這樣
var myvue = new Vue({
el: '#myvue',
data: {
message: <something>
}
});
無論<something>
是什麼(null,一個字符串,未定義),它總是替換HTML元素中的內容。有什麼辦法讓Vue對象從HTML中加載數據?
嗨mzgajner,謝謝你的回答,我沒有從這個角度考慮它,但我可以想象,當他們不依賴於計算時,我可以從html中提取一些基本的東西,比如將所有跨度的文本加載到模型中,我發佈了一個引用knockout.js的答案,更多詳情。 – skagzilla