0

私はknockout.jsとupshot.jsを使用して、サーバー上のAPIコントローラーからアイテムのリストを取得しています。これは基本的に私のビューモデルです:

self.templatesDataSource = upshot.dataSources.Templates.refresh();
self.templates = self.templatesDataSource.getEntities();

プロパティへのバインドは問題なく機能します。

<div data-bind="foreach: templates">
    <a href="#" data-bind="text: Title"></a><br />
</div>

しかし、テキストにタイトルだけでなく、タイトルと他の値の組み合わせを表示させたいとしましょう。私が欲しいとしましょうTitle + ' ' + Idここからの「例4」に基づいて、私は次のようなことができるはずだと思っています。

<div data-bind="foreach: templates">
    <a href="#" data-bind="text: function(item){return item.Title + ' ' + item.Id; }"></a><br />
</div>

function(item){...ただし、結果の代わりに関数テキスト(など)が表示されます。リンクの適切なhrefを作成するには、この機能も必要です。どうすればこれを達成できますか?

4

1 に答える 1

2

次のようにステートメントを直接書くことができます。

data-bind="text: Title + " " + Id"

プロパティが監視可能である場合は、次のようにします。

data-bind="text: Title() + " " + Id()"

あなたに対する拘束力については、次のhrefようにします。

data-bind="attr: { href: Url }"

値を計算するときのもう1つのオプションは、計算されたオブザーバブルを使用して値を表すことです。

于 2012-05-03T01:24:51.577 に答える