我在我的挖空项目中设置了一个模板系统,目标是随时调用函数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