【发布时间】:2015-11-09 03:28:30
【问题描述】:
视图模型
define([
'services/blogrepository',
'plugins/router'], function (blogrepository, router) {
var Blog = function(data) {
this.ID = ko.observable(data.BID);
this.Titel = ko.observable(data.BTitel);
this.Content = ko.observable(data.BContent);
this.Time = ko.observable(data.BTimestamp);
}
var viewmodel = function () {
this.router = router;
this.blogrepository = blogrepository;
this.blogentries = ko.observableArray([]);
this.blogrepository.getAllBlog()
.then(function (result) {
this.blogentries = $.map(result, function (item) { return new Blog(item) });
});
this.activate = function () {
};
this.attached = function (view, parent) {
};
};
return viewmodel;});
查看
<article data-bind="foreach: blogentries">
<span data-bind="text: Titel"> </span>
</article>
大家好,
我无法在视图中显示博客条目。我在这里看不到什么?
getAllBlog() 做得很好,我得到了数据,如果我 console.log 记录他告诉我的 blogentries:
[Blog, Blog]
0: Blog
Content: c()
ID: c()
Time: c()
Titel: c()
__proto__: Blog
1: Blog
Content: c()
ID: c()
Time: c()
Titel: c()
__proto__: Blog
非常感谢,祝你星期天愉快。
克里斯
【问题讨论】:
-
尝试添加 Durandal 插件“Observable”。这使得 ViewModel 更容易管理,因为没有(隐藏良好的)淘汰赛。但是,您必须在 ES6 get/set 兼容的浏览器上运行。
标签: javascript arrays class knockout.js durandal