2016-11-08 1 views
0

하지 기대 작품하지, 그리고 'NG-경우'각 버튼에 대한 템플릿 :NG는-경우 내 모델의 버튼 배열을

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" 
    /> 

나는 'show'속성에 부울을 할당하고 있다는 것을 알고 있으므로 간단한 유형이기 때문에 변경할 수 없습니다. 나는 '쇼'속성에 기능을 할당하기 위해 노력하고있어하지만 난 다음 오류 받고 있어요 그런데

:

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 is not a function at fn (eval at compile (angular.js?version=alpha.1:14539), :4:240)

몇 가지 아이디어가 있습니까? 나는 뭔가를 놓치거나 잘못 이해하고 있는가?

미리 감사드립니다.

+0

NG-쇼 겨-것보다 덜 돌출하고, 최종 결과는 비슷하지만, NG 반복과 함께 사용하도록 승인 :

은 그냥 분할 –

답변

2

ng-if이 내부 변수 ng-repeat을 참조하면 ng-repeatng-if을 동일한 태그에 포함 할 수 없습니다.

<div ng-repeat="boton in personaAndContrato.aButtons"> 
    <button ng-if="boton.show()" 
     type="button" 
     ng-class="boton.class" 
    /> 
</div> 
1

ng-if="boton.show()"으로 변경하면됩니다.