我从JSON中获取服务器中的数据,然后将其转换为viewModal
。现在我使用return router.navigate('results')
加载新视图。但同时我想传递我从JSON对象创建的viewModel
以传递给此视图。默认情况下,“结果”viewModel
被调用但它具有空值。
一个小的代码片段对我来说很有帮助,因为我是Durandal JS的新手。
答案 0 :(得分:1)
我的最佳答案是将这些信息存储在一个单独的模块中,如下所示:
define(function(require) { return []; });
define(['storage'], function(storage) {
$.get('uri', function(data) {
data.forEach(function(obj) {
storage.push(obj);
});
});
});
这不是最优雅的解决方案。我真的很感兴趣,如果有一种干净的方法可以在激活时从单独的视图模型传递数据,但到目前为止我还没有找到。
答案 1 :(得分:1)
终于结束了这样的事情。
这种方式当我导航时,我得到了我想要从一个视图传递到另一个视图的所有值。希望这种方法能够帮助其他人。
答案 2 :(得分:0)
Matthew的答案肯定与我目前的方式类似,一旦数据保存在您的单独模块中(我有一个名为modules / data / someDataStorage的路径),您可以使用事件或者可以观察到的敲除将数据更新到您的视图模型。
在您的情况下,我会对您的共享模块进行更新,以存储有关您的请求的信息,然后激活结果模块,从该共享模块获取数据。