2

html 要素の textContent をデータ文字列にバインドするだけです。これを達成するために私がすることは次のとおりです。

<span id="currentDate" data-win-bind="textContent:Data.currentDateString"></span>

コードは名前空間 Data を定義します

WinJS.Namespace.define("Data", {
    currentDateString: currentDateString,
});

currentDateString は次のように定義されます。

var currentDateString = "Monday";

ページの ready 関数で、WinJS.Binding.processAll(); を呼び出します。これにより、HTML のコンテンツが文字列に設定されます。ただし、文字列が変更されても HTML は更新されません。文字列が変更されたというイベントをトリガーする必要があると思います。どうすればそれについて行くでしょうか?リストデータソース用の WinJS.Binding.List があるので簡単な方法はありますか?

4

1 に答える 1

4

オブジェクトは監視可能である必要がありますが、名前空間で定義されたプロパティはそうではありません。

コードは次のように変更する必要があります。

WinJS.Namespace.define("Data", {
    currentDate: WinJS.Binding.as({
        asString: currentDateString,
    }),
});

Data.currentDate.asString = "Another day!";

割り当てが実行されると、値が変更されます。

次のようなオブザーバブル用の他のヘルパーがあります。WinJS.Binding.define

于 2012-11-28T17:37:33.107 に答える