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>
およびViewModel:
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にロードするだけです。すべてが正常に機能し、表示名が入力され、投稿が期待どおりに表示されます。
私が問題を抱えているのは、ボタンを削除して、作成時に投稿を読み込もうとしたときです。プラグイン呼び出しをアクティブ化関数に配置すると、結果が得られません。これは、ビューが完全にロードされていないため、要素が存在しないためだと思います。2つの質問があります:
- ビューが完全に構成されるまでプラグイン呼び出しの実行を遅らせるにはどうすればよいですか?
- さらに良いことに、クエリセレクターを使用するのではなく、プラグインの結果を監視可能な投稿にロードするにはどうすればよいですか?私は多くの組み合わせを試しましたが、運がありません
ご協力いただきありがとうございます。