Ich habe Direktive myDirective, die eine Zwei-Wege-Bindung zu isolieren Bereich hat. Wenn der Benutzer auf eine Schaltfläche klickt, möchte ich den Isolationsumfang als Wert ändern. Ich dachte, isolate scopes wären an den $ scope gebunden, aber ich liege falsch. Wie kann ich mit diesem isolierten Bereich "greifen" und interagieren? Sind sie nicht an den Anwendungsbereich des Direktiven des Direktors gebunden?Wie interagieren Sie mit isolieren Bereich Variable innerhalb einer Anweisung Controller?
angular.module("app", [])
.controller("myCtrl", function($scope){
$scope.ctrlTwoway = "Eggs";
})
.directive("myDirective", function(){
return {
scope: {
twoway: =
},
template: "<button ng-click="changeTwoway()">Change two way isolate scope</button>",
controller: function($scope, $element, $attrs){
$scope.changeTwoway = function(){
// get twoway from isolate scope, and update the value with "bacon"
// $scope.twoway = "bacon" doesn't work
// nor does $attrs.twoway = "bacon" work, either :(
};
}
}
});
Und der HTML
...
<div my-directive twoway="{{ctrlTwoway}}"></div>
Current value: {{ctrlTwoway}}
Sie sind sicher, dass 'controller:' nicht 'link:' gemeint ist? – tymeJV
Ich denke, Sie haben einen Tippfehler für "twoway: =", es sollte "twoway: '='" – TrtG