我创建了一个Angular应用。 在我的应用中,我有一个复选框。通过选中复选框,我添加或删除形状。
myApp.controller('Controller', [ function(){
this.addOrRemoveShape = function(shape){
if (shape){
var isSelected = shape.isSelected;
if (isSelected === true){
//ADD SHAPE
}
else{
//REMOVE SHAPE
}
}
....
功能:
this.showOrHidePredefinedShapes = function (layer){
var shapes = layer.shapes;
for (var i .... shapes.length){
var shape = shapes[i];
shape.isSelected = true;
that.addOrRemoveShape(shape);
}
}
此功能完美无缺。如果我设置断点 - 当我点击复选框时,我会转到此功能。
在另一个地方,我添加了一个按钮。 当用户点击按钮时,必须添加一些形状,当然必须选中复选框。
<Frequency
jcr:primaryType="cq:Widget"
allowBlank="false"
fieldLabel="Frequency(sec.):"
name="./duration"
xtype="numberfield"/>
<FrequencyHint
jcr:primaryType="cq:Widget"
defaultValue="Long"
name="./duration@TypeHint"
value="Long"
xtype="hidden"/>
它正在发挥作用。绘制形状并选中复选框。但是,当我单击特定选定形状的复选框以取消选中它们时,形状正在移除,但我无法进入断点,复选框仍然保持检查状态。 我不明白为什么......
答案 0 :(得分:0)
我会尝试提供一些不同的方法:
ng-repeat
图层上的所有形状,并根据ng-if
属性在形状上添加isSelected
。
<div class="layer">
<div class="shapes" ng-repeat="layer.shapes">
<div class="shape" ng-if="shape.isSelected">
<!-- render the shape -->
</div>
</div>
</div>