隔離されたスコープは、そのスコープの変更をリッスンするように設定されています。しかし、これは失敗します。隔離されたスコープは、値の変更をリッスンできません。
app.controller('MainCtrl', function($scope) {
$scope.name = 'World';
$scope.foo = { bar: 'hello' };
})
.directive('test-dir', function() {
return {
restrict: 'E',
scope: {
name: '='
},
link: function($scope) {
console.log($scope.name);
$scope.$watch('name', function(newValue) {
console.log(newValue);
}, true);
}
};
});
テンプレートは、このようなものです:
<body ng-controller="MainCtrl">
<p>Hello {{foo.bar}}!</p>
<input ng-model="foo.bar">
<hr/>
<testDir name='foo'></testDir>
</body>
私はここで何をしないのですか?
Plnkr:http://plnkr.co/edit/kldjQrPPBFvlq7ZSOAeb?p=info
注意を。ここでの重要な要素は、 'directive()'コールでのディレクティブの命名です。 –
@MikeMcCaughanあなたはそれについて確かですか? htmlでcamelCaseの名前を使うことができないと知っている限り、 ':'、 '-'、' _'で置き換える必要があります。 –
私はちょうどテストしたし、あなたは正しいです。私はラクダのケーシングを一点で使用していたと誓っていたかもしれませんが、それは一週間以上前ですので、私の記憶は曖昧になります:)。 –