0

配列ではなくオブザーバブルによって画像要素(正しい/間違った答えを表す)を複製しようとしています。これはできますか?(XXXXXXXXX でマークされた場所を参照してください)。answerCorrect と answerfailed は別の場所で更新されます。

JS:

var singlePhase=function (phaseNo,questionsTotal)
{
    var self=this;
    self.phaseNo=phaseNo;
    self.answersTotal=questionsTotal;
    self.answerCorrect=ko.observable(0);
    self.answerfailed=ko.observable(0);
}

var QuestionViewModel = function () {
    var self = this;
    var tmpArrPhases = new Array(); 
    tmpArrPhases.push(new singlePhase(1,2));
    tmpArrPhases.push(new singlePhase(2,2));
    tmpArrPhases.push(new singlePhase(3,3));
    self.allPhases(tmpArrPhases);
}

HTMLでやりたい:

        <div data-bind="foreach: allPhases">
            <div class="progress_bar_bottom_mustry" data-bind="foreach:XXXXXXXXX">
                <img src="images/correct.png" data-bind="visible:true">
                <img src="images/wrong.png" data-bind="visible:true">
            </div>
        </div>

感謝!

4

1 に答える 1

1

foreachバインディング内で空の配列を作成できます。

<div data-bind="foreach: allPhases">
    <div class="progress_bar_bottom_mustry" data-bind="foreach:new Array(YourObservalbe())">
        <img src="images/correct.png" data-bind="visible:true">
        <img src="images/wrong.png" data-bind="visible:true">
    </div>
</div>

例を次に示します: http://jsfiddle.net/7UDfM/

于 2013-03-21T13:30:09.023 に答える