2016-11-08 5 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-場合よりも目立たないし、最終的な結果は似ていますが、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()"に変更します。