我正在尝试使用Durandal生成数据列表。因为这个数据会被对话框更新,我需要列表项来表示一个视图模型。为此,查看构图似乎是合适的,但我必须错过如何做到这一点。注意:我使用ASP .NET MVC,所以我的路径有点不同。然而,在这一点上,我没有看到我的观点的任何网络请求也不是调试器;我的视图模型中的行被击中。Durandal List with Composition(ASP .NET MVC)
下面是代码: 的HTML:
<tbody data-bind="foreach: workItems">
<!-- ko compose: {model: 'viewmodels/project/workItem', view: 'views/project/workitem'} -->
<!-- /ko -->
</tbody>
这里是JS用于旨在表示列表中的每个线视图模型:
define(['knockout'], function(ko) {
var vm = function() {
var that = this;
this.activate = function(ctx) {
debugger;
};
};
return vm;
});
下面是代码,其手柄GET请求返回数据:
this.activate = function (ctx) {
var q = null;
if (ctx == undefined) {
q = that._getCurrent();
} else {
q = that._getPath(ctx);
}
q.then(function (response) {
that.workItems(response);
app.trigger('viewmodel:loadingComplete');
});
};
我试过使用system.ac为了将虚拟机添加到我的可观察数组中,这未能显示任何结果。我的想法是,我需要组合,所以我得到绑定每行火。 (这可能是错误的)。我真的想找一个这个工作的例子。非常困惑,我无法在SO或Google上找到任何东西。
在此先感谢
只是注意到你说调试语句没有被击中。代码中的某处出现错误。你能发布完整的viewmodel吗?还要留意控制台窗口中的任何错误,并检查网络选项卡以确保所有文件都正确加载。你发布的代码应该可以工作。 –
所以,你是对的,我确实发现了错误,并且已经解决。但是,我的问题仍然存在。我需要被推入observablearray的项目是视图模型,阅读它需要有淘汰赛观察。虽然我已经设法实现这一点,但我无法弄清楚如何将数据流入虚拟机。任何帮助? – xximjasonxx