2016-10-28 41 views
0

我已經創建了需要HTML元素的AngularJS指令: 1)成爲窗體的子項; 2)具有'條件值'屬性;如何在AngularJS指令中設置所需屬性列表?

要做到這一點,我創建指令是這樣的:

.directive('onFocusoutDoSomething', function() { 
    return { 
     require : ['^?form', '^conditionalValue'], 
     restrict : 'A', 
     link : function(scope, element, attrs, ctrl) { 
      // ... do something 
      } 
    } 
}) 

但由於某些原因,我得到這個異常: 控制器「conditionalValue」,由指令所要求的「onFocusoutDoSomething」,不能被發現!

駱駝案件指令的名稱和屬性被AngularJS的破折號案件取代,對嗎?

回答

0

如果您必須創建'A'屬性類型指令,它應該放置在指令或bindToController的作用域{conditionalValue:'='}:{conditionalValue:'='},而不是require:{},require用於指示指導通信。

如果您在指令定義對象中有要求,那麼該指令繼承了require字段中提到的父指令。例如,如果有,

app.directive('tabSet',function(){ 
//DDO 
}); 

tabs指令可以繼承tabSet指令的控制器屬性。

app.directive('tabs',function(){ 
    return{ 
    require:'^tabSet' 
    } 
}); 
相關問題