这是我第一次尝试使用HTML5制作单页应用程序。我正在使用jquery,knockout和sammy。
代码:http://codepaste.net/apdrme
问题是我不知道我做错了什么。我知道它是以下内容:
this.get("#/", function() {
this.personList(this.persons);
});
但我还能如何填充清单呢?
答案 0 :(得分:0)
您通常会使用jQuery和ajax调用来填充personList。 personList应该是ko.observableArray。
this.personList = ko.observableArray();
this.get("#/", function() {
$.ajax({url:"/api/persons/", dataType: 'json', success:function(persons){
this.personList(persons);
}});
});
答案 1 :(得分:0)
您可以按如下方式填充列表:
function ViewModel() {
this.personList = ko.observableArray([{"name":"Josh"}, {"name":"Barry"}, {"name":"Mike"}]);
};
[...]
ko.applyBindings(new ViewModel());
注意在声明中使用ko.observableArray()
。因此,您也可以删除参数并在主Sammy路线中调用this.personList([{"name":"Josh"}, {"name":"Barry"}, {"name":"Mike"}])
并使用其他路线中的其他值填充列表。
另一个错误是你使用了这里不需要的带绑定。查看documentation about it。