0

我有一个包含属性的对象。像这样

{
    "QuestionId":31,
    "ImportanceLevel":53
}

我将 ImportanceLevel 绑定到一个 div,现在我想应用应该运行的 foreach 循环,直到它达到 ImportanceLevel 的值。这里是绑定。

<div data-bind="foreach:ImportanceLevel">
    <span></span>
</div>

在这里我想生成 span 3 次,我该怎么做?如果这不是我认为的正确方法,那么还有什么替代方法。这会生成一些这样的用户界面

在此处输入图像描述

如果级别为三,它将显示 3 个圆圈。

4

1 回答 1

0

这是实现相同效果的另一个建议,无需 foreach 绑定。使用宽度根据重要性级别计算的 div。要使其显示微小的蓝点,您可以使用背景图像。像这样的东西:http: //jsfiddle.net/36vLE/5/

js:

var VM = function(){
    var self = this;
    self.importanceLevel = ko.observable(53);
    self.importanceWidth = ko.computed(function(){
       return (self.importanceLevel() * 2) + "px" 
    });
    self.increaseLevel = function(){
        self.importanceLevel(self.importanceLevel() + 10);
    }    
}

ko.applyBindings(new VM());

html:

<button data-bind="click:increaseLevel">increase importance</button>
<div data-bind="style:{width:importanceWidth}" id="importanceBar"></div>
<br />
<div data-bind="style:{width:importanceWidth}" id="importanceBar2"></div>
于 2013-11-11T10:57:46.040 回答