仅在未禁用上一个元素时使用指令

时间:2016-03-10 10:44:45

标签: javascript angularjs ionic-framework angular-directive

SZENARIO:

我有一个像这样的输入字段

 <ion-input class="item item-input">
      <ion-label>Field</ion-label>
           <input type="text" ng-disabled="someCondition" model="somemodel" />
           <directive-element></directive-element>
 </ion-input>

现在我正在使用一个指令将一个按钮替换为“directive-element”,我点击了一个函数,但我无法检测输入是否被禁用我已经通过{{1}进行了尝试找到它但没有运气

element[0]

编辑:

.directive('directiveElement', function () {   
    return {
        restrict: 'AE',
        replace: true,
        template: function (element, attrs) { 
             var input = ?????.
             if(input.disabled == false){             
                return "<button ng-click='myFunction()'></button>"; 
             }else{
                //DOnt show the button 
              }         
        },
        link: function (scope, element, attrs) {
                scope.myFunction(){
                    //some logic
                }  


        };
    }

})

我不会使用Jquery,如果可能的话我想避免使用Jqlite

此致

1 个答案:

答案 0 :(得分:0)

你可以传递条件并在第三个函数中检查它:

template: function (element, attrs) {            
        return "<button ng-click='myConditionalFunction(someCondition)'></button>";             
},
link: function (scope, element, attrs) {
      scope.myFunction(){
           //some logic
      } 

      scope.otherFunction(){
           //some other logic
      }  

      scope.myConditionalFunction(condition){
          if (condition) {
             scope.myFunction();
          } else {
             scope.otherFunction();
          }
      }

};