:ポスト修正親コンポーネント(Angularjs 1.5または1.6)から来ていない子コンポーネントデータを見る方法は?以下のコードで
var app = angular.module('app', [])
// navigation template
app.component('onChanges', {
bindings: {
name: '<'
},
template: '<h1>{{$ctrl.greeting}}</h1><br><h2>{{origin}}</h2> ',
controller: function($scope) {
$scope.origin = 'international';
this.$onChanges = function(obj) {
if (obj.name && this.name) {
var prefix;
(obj.name.currentValue.toLowerCase() === 'thomas') ?
prefix = 'Howdy ': prefix = 'Hello ';
this.greeting = prefix + this.name;
(prefix === 'Hello ' || !prefix) ? $scope.origin = 'american': $scope.origin = 'australian';
}
// if the name is undefined clear greeting
if (!this.name) {
this.greeting = ''
}
};
$scope.$watch('$scope.origin', function() {
console.log("I am here");
})
}
});
:。私は$ scope.originの変更を監視するために$スコープ$ウォッチを使用しています。どうしたの?私の問題は、角1.5または1.6のコンポーネントを使用して、それらのための共通の問題である 、驚くべきことに、私はこれに関連するSO質問/答えを見つけることができません。https://plnkr.co/edit/DDZeTHQIji4FJnyhpQAJ?p=preview
オリジナルポスト: はこのPlunkerを試してみてください。
この場合、$ ctrl.originは親コンポーネントのデータではなく、$ ctrl.nameは親コンポーネントから子コンポーネントに渡されます。
私の理解によれば、 $ onChanges関数は$ ctrl.nameのみ見ることができます - 外部ソース、例えば親コンポーネントからコンポーネントに入るデータ。
私の質問:$ ctrl.originのようなコンポーネントのローカルデータの変更を監視するには - 親コンポーネントから渡されなかったデータ?例が役に立つかもしれません。
どうすればいいですか? https://plnkr.co/edit/DDZeTHQIji4FJnyhpQAJ?p=info
だから私の場合、私は右、ちょうど1.4の角のように見て$を使用する必要がありますか? – dowgwi
私はあなたのケースではうまくいくと思います。試してみる。 – rrd
投稿を少し修正します。 $ watchを使用しても動作しません。私のPlunkrを見てください:https://plnkr.co/edit/DDZeTHQIji4FJnyhpQAJ?p=preview $ watch($ scope.origin '、function .... – dowgwi