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 回答