我在我的挖空項目中設置了一個模板系統,目標是隨時調用函數loadTemplate(「templateName」)以將一個新模板加載到一個看法。將數據傳遞給KnockoutJS中的observable問題
我有一個版本的工作,我可以撥打loadHomeTemplate()
或loadSearchTemplate()
,它會工作。
但現在我試圖修改它,以便我可以撥打loadTemplate("Home")
或loadTemplate("Search")
。
出於某種原因,第二個版本在this.name = ko.observable(name);
上出現故障。 this.name未定義 - 我添加了控制檯日誌以查看錯誤。我不明白。在兩種情況下,我似乎都將相同的事情傳遞給buildTemplate的「name」參數。沒有?
一對夫婦筆記:我綁定到'template-content'元素,因爲我正在運行多個視圖模型。我聲明loadTemplate
或loadHomeTemplate
作爲全局變量,因爲我需要能夠隨時運行這些方法。可能有更好的方法來做到這一點,但我還沒有想到。
對。我不能相信我錯過了「新」宣言。我也喜歡templateFactory的想法。好動作!謝謝。 – dmathisen 2013-03-14 21:40:14