2017-04-02 72 views
0

我已經開發了一些指令,並且在它們中我使用特定的模式命名屬性。所有的屬性前綴爲「fs-」,例如<div fs-attrtibute="value"></div>在Angular指令中重命名需要ngModel

是否可以使用ngModel屬性的自定義名稱並仍保留模型控制器功能。例如<div fs-model="value" fsDirective></div>

myApp.directive('fsDirective', function() { 
    return { 
     require: 'fsModel', 
     link: function($scope, element, attrs, ngModel) { 
        ngModel.$setViewValue('StackOverflow');   
      }; 
     } 
    }; 
}); 

回答

0

正如您所呈現在這裏的角會尋找一個名爲「fsModel」指令的控制器,並提供該到你的鏈接功能的「ngModel」的說法。將ngModel包裝在一個自定義的「pass-thru」指令中可能是可能的,但這會爲非常小的好處帶來複雜性。

對於我們所有的本地指令,我們同樣使用'命名空間',但留下Angular的'ng'空間是因爲它清晰且一致。