0
我剛剛遇到了一個很好的示例代碼knockout.js,我正在學習。所以我很想了解代碼流。當我嘗試閱讀該代碼時,我堅持瞭解特定區域。這裏是任何人都可以看到完整的代碼http://jsfiddle.net/rustam/SSBZs/從observableArray一個一個的點擊按鈕加載數據
//this two area now clear
this.currentQuestion = ko.computed(function(){
return self.questions()[self.questionIndex()];
});
this.nextQuestion = function(){
var questionIndex = self.questionIndex();
if(self.questions().length - 1 > questionIndex){
self.questionIndex(questionIndex + 1);
}
};
this.prevQuestion = function(){
var questionIndex = self.questionIndex();
if(questionIndex > 0){
self.questionIndex(questionIndex - 1);
}
};
當點擊一個或下一個按鈕,然後這兩功能正從這兩例行questionIndex
值稱爲prevQuestion & nextQuestion
是得到改變,並相應地自問自答集的jsfiddle鏈接在改變。
我的問題是questions and questionIndex
之間沒有任何聯繫,所以我想知道questionIndex
正在發生變化,那麼問題集如何改變?
請幫我理解,當我們點擊next或prev按鈕時,新舊問題集是如何加載的。
感謝
很老實,我只是不理解流程。如果可能的話,指導我如何加載問題和答案,當用戶點擊next和prev按鈕的簡單方法。謝謝 – Thomas
@Thomas,基於上述答案瞭解它是如何工作的,請閱讀有關knockoutjs中的可觀察項和計算機可觀察項。 –