WinJS обвързването не се актуализира

Искам просто да свържа textContent на html елемент към низ от данни. Това, което правя, за да постигна това е:

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

Кодът дефинира пространство от имена Data с

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

където currentDateString се дефинира като:

var currentDateString = "Monday";

В готовата функция на страницата извиквам WinJS.Binding.processAll();. Това задава съдържанието на HTML към низа. Но HTML не се актуализира при промяна на низа. Мисля, че трябва да задействам някакво събитие, че низът се е променил. Как да направя това? Има ли лесен начин, тъй като има WinJS.Binding.List за списъчни източници на данни?


person Nicholas    schedule 28.11.2012    source източник


Отговори (1)


Вашият обект трябва да може да се наблюдава, което не е вашето свойство, дефинирано в пространство от имена.

Вашият код трябва да се промени по следния начин:

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

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

Когато присвояването се изпълни, то ще промени стойността.

Има и други помощници за наблюдаеми, като WinJS.Binding.define

person Dominic Hopton    schedule 28.11.2012