我正在为 mvc4 使用 Durandal 入门模板。我设置了以下简单视图:
<section>
<h2 data-bind="html: displayName"></h2>
<h3 data-bind="html: posts"></h3>
<button data-bind="click: getrss">Get Posts</button>
<div id="rsstestid" ></div>
</section>
和视图模型:
define(function (require) {
var http = require('durandal/http'),
app = require('durandal/app');
return {
displayName: 'This is my RssTest',
posts: ko.observable(),
activate: function () {
return;
},
getrss: function () {
$('#rsstestid').rssfeed('http://feeds.reuters.com/reuters/oddlyEnoughNews');
return;
}
};
});
如您所见,它只是在单击“获取帖子”按钮时使用 zRssReader 插件将帖子加载到 div 中。一切正常,显示名称已填充,帖子按预期显示。
当我尝试消除按钮并尝试在创建时加载帖子时,我遇到了麻烦。如果我将插件调用放在激活函数中,我不会得到任何结果。我认为这是因为视图没有完全加载,所以元素不存在。我有两个问题:
- 如何延迟插件调用的执行,直到视图完全组成?
- 更好的是,如何将插件结果加载到可观察的帖子中,而不是使用查询选择器?我尝试了很多组合,但没有运气
谢谢你的帮助。