を働きません、それはこのような小道具から自分のデータを取得し、変更を支えるために聞く:角度ディレクティブは、私はD3をレンダリングするディレクティブを作成し
<my-directive words="fromControllerData"></my-directive>
今「fromControllerDataは」親によって変更することができますし、私がしたいです私の指示を書き直してください。
はどのようにして、データの変更に耳を傾けていますか?
は、多くの例を見つけましたが、どれも働いていない...ここ
プロジェクトへのリンクです:あなたは上の指示を見ることhttps://plnkr.co/edit/I6eyFMBrhoDpxfOsulrI?p=preview
:
app.js // line 48
私はスコープを試してみました$時計。 。そしてスコープ$ watchCollection ...
説明するためのいくつかのコード:
conroller:
app.controller('AppController', ['$scope', '$rootScope', 'serverData', function($scope, $rootScope, serverData) {
$scope.data = {
words: serverData
};
setTimeout(function() {
console.log('changegd');
$scope.data.words = [];
}, 1000);
}]);
一部のディレクティブコード:
app.directive("gravityWordCloud", ['serverData', function(serverData) {
return {
restrict: "EA",
scope: {
words: "="
},
link: function(scope, element, attrs) {
// dontcare stuff
//this happens only on first load......
//but never again
scope.$watchCollection('words', function() {
console.log(scope.words);
});
}
}
}])
すでに試してみました。 –
私はちょうど別のエラーを見ました:あなたはまた、 '単語'の代わりに 'scope.words'を見る必要があります。 – Keugels
でもそれを試しました:/あなたがコード上で動作させることができるかどうか見てください、私は実際には9時間を無駄にしました.... –