私はディレクティブmyDirectiveを持っています。これは双方向バインディング分離スコープです。ユーザーがボタンをクリックすると、分離スコープを値に変更します。私は分離スコープが$スコープに束縛されていると思ったが、私は間違っている。どのようにしてスコープを隔離して対話するのですか?それらは指令コントローラのスコープに接続されていませんか?ディレクティブコントローラ内でスコープ変数を分離する方法は?
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 :(
};
}
}
});
そして、私はworking versionとplunkerを作成したHTML
...
<div my-directive twoway="{{ctrlTwoway}}"></div>
Current value: {{ctrlTwoway}}
'controller:'は 'link:'ではありませんか? – tymeJV
"twoway:="にはタイプミスがあります。 "twoway: '='" – TrtG