1
Ich weiß, wie es als ohne Controller zu tun:Zugriff auf Attribut-Richtlinie Werten Controller als
html
Nehmen wir an, ich habe eine Richtlinie namens ngUpperCase(either true or false)
<div ng-controller="myControl" >
<input type="text" ng-upper-case="isGiant" >
</div>
Js
myApp.directive('ngUpperCase',function(){
return{
restrict:'A',
priority:0,
link:function($scope,element,attr){
//---to retrieve value
var val = $scope[attr.ngUpperCase];
var anotherVal = $scope.$eval(attr.ngUpperCase);
$scope.$watch(attr.ngUpperCase,function(val){
//---to watch
})
}
};
})
Wie zu die Direktive machen, wenn ich sowas verwende?
<div ng-controller="myControl as ctl" >
<input type="text" ng-upper-case="ctl.isGiant" >
</div>
Was Sie haben, sollte funktionieren. Welche Probleme haben Sie? – georgeawg
es immer zurück undefiniert, wenn Sie "controller as" verwenden – anaval
teilen Sie Ihre Contrler Code, wie Sie den Controller definiert? Und stattdessen können Sie Scope-Variable direkt in Direktive als Attribut übergeben. –