我的模型中有一个按钮数组,并且有一个 如果'在每个按钮的模板中:
self.aButtons.push({
label: __('Siguiente'),
class: 'btn-moduloAvance',
show: (self.oContrato.definirPago || self.oContrato.horario_definido)
}
});
那是Html:
<button ng-if="boton.show"
ng-repeat="boton in personaAndContrato.aButtons"
type="button"
ng-class="boton.class"
/>
我知道我正在为&#39; show&#39;分配一个布尔值。财产,所以它不可能改变,因为它是一个简单的类型。
顺便说一句,我试图将功能分配给“节目”。财产,但我收到以下错误:
self.aButtons.push({
label: __('Siguiente'),
class: 'btn-moduloAvance',
show: function () {
return (self.oContrato.definirPago || self.oContrato.horario_definido);
}
});
Html(已编辑):
<button ng-if="boton.show()"
ng-repeat="boton in personaAndContrato.aButtons"
type="button"
ng-class="boton.class"
/>
TypeError:v2.show不是函数 at fn(eval at compile(angular.js?version = alpha.1:14539),:4:240)
一些想法?我是否缺少或误解了什么?
提前致谢!
答案 0 :(得分:2)
如果ng-repeat
引用ng-if
的内部变量,则同一标记中不能包含ng-if
和ng-repeat
。
将其分开:
<div ng-repeat="boton in personaAndContrato.aButtons">
<button ng-if="boton.show()"
type="button"
ng-class="boton.class"
/>
</div>
答案 1 :(得分:1)
更改为ng-if="boton.show()"
即可。