KO.js如何在使用视图构造函数时设置默认视图
我是(新来的KO!)玩Ryan Niemayer在这里提供的视图构造函数:如何正确构造KnockoutJS应用程序,并且我试图设置一个默认视图以显示加载...
例如#3,你可以使用一个构造函数,如...
这里是我的叉尝试设置默认值:
// (templates are defined in the fiddle)
var View = function(title, templateName, data) {
this.title = title;
this.templateName = templateName;
this.data = data;
};
var definedViews = ko.observableArray([
new View("one", "oneTmpl", new SubModelA()),
new View("two", "twoTmpl", new SubModelB())
]);
var viewModel = {
views: definedViews,
defaultView: 0,
selectedView: ko.observable( definedViews[0] )
};
ko.applyBindings(viewModel);
index.html的:
<!-- ko with: selectedView -->
<div data-bind="template: { name: templateName, data: data }"></div>
<!-- /ko -->
http://jsfiddle.net/memeLab/WVVyM/2/
在加载时, selectedView
是未定义的,但是当我点击选择时,它包含一个对象,如预期的那样...
我也尝试将viewModel重构为一个函数,尝试将参数提供给html声明,以及一些随机猜测不足以在此进行总结...
有什么建议么? TIA!
其实你错过了()
var viewModel = {
views: definedViews,
defaultView: 0,
selectedView: ko.observable( definedViews()[0] )
};
这里工作的小提琴:http://jsfiddle.net/ZAHC9/
链接地址: http://www.djcxy.com/p/66057.html上一篇: KO.js howto set default view when using view constructor
下一篇: Difference between knockout View Models declared as object literals vs functions