代碼位於typescript中,我試圖在頁面加載中顯示當前日期時間,並在刷新點擊時更新該日期時間。刷新函數中的Knockout Observable字符串更新
在.ts文件中顯示日期時間的字符串是這樣聲明的。
asOfString: KnockoutObservable<string>;
在它被設置這樣的構造,
this.asOfString = ko.observable(new Date().toDateString() + " " + new Date().toLocaleTimeString());
在HTML中它是這樣的綁定,
<a class="small button" data-bind="click: updateSummary">Refresh</a>
在刷新按鈕,我試圖更新它像這個,
this.asOfString(new Date().toDateString() + " " + new Date().toLocaleTimeString()); //latest date time.
it gi給我一個錯誤,_this.asOfString不是一個函數。
請幫忙。視圖模型的
代碼是這樣的,
import ko = require('knockout');
class TodayViewModel {
asOfString: KnockoutObservable<string>;
constructor() {
this.updateSummary();
this.asOfString = ko.observable(new Date().toDateString() + " " + new Date().toLocaleTimeString());
}
updateSummary =() => { // is the function that is bound to refresh button
//want to update this.asOfString here
}
}
export = TodayViewModel;
我們需要看到更多的代碼,當你更新它(得到的'價值this'是什麼的想法)。發佈您如何定義視圖模型,如何在視圖模型上定義asOfString,以及如何在視圖模型上定義updateSummary。此外,確保'asOfString'不被任何可觀察的東西覆蓋。 –
聽起來像一個錯誤的'this'。在點擊綁定中使用的'updateSummary'函數將(默認情況下)** not **與您的視圖模型一起調用,因爲'this'' – CrimsonChris
已更新問題。 –