【发布时间】:2014-03-05 17:12:00
【问题描述】:
我对@987654321@ 很陌生,所以这可能很明显,但是我如何在两个viewmodels 之间链接逻辑?
假设我在一个只有项目列表的页面上。我深入研究加载下一页的项目。现在在激活方法中,我真的很想执行下一个/上一个逻辑...
activate: function(data, previousViewModel) {
var Id = Number(data);
// Load data
var entityInTable = ko.utils.arrayFirst(previousViewModel.table.data(), function (item) {
return item.Id() == Id;
});
var i = previousViewModel.table.data().indexOf(entityInTable);
vm.previous = previousViewModel.table.data()[i - 1];
vm.next = previousViewModel.table.data()[i + 1];
}
这可能/容易吗?谢谢。
编辑:目前我通过将视图 URL 传递给表格控件来路由到此视图。
Table.prototype.openItem = function(item) {
m_router.navigate(this.detailsUrl + "/" + item.Id());
}
理想情况下,我想知道激活时我从哪个视图路由,这样我就可以调整生成的视图外观和逻辑以将其引导到那个位置。
【问题讨论】:
标签: javascript durandal single-page-application