これについての記事をいくつか見てきましたが、まだ理解できません。親スコープがディレクティブからのng-changeでselectから更新しない
親スコープをwithinディレクティブから更新できません。私は、スコープの値がプリミティブではなく、オブジェクトでなければならないと言っている記事を読んだが、なぜこれが動作していないのか分からない。選択含まれている期間、selection.html以下
angular.module("awaCommon").directive("durationSelection", [
function() {
return {
scope: {}, // tried removing this as well as seen in some articles
restrict: "E",
templateUrl: "duration-selection.html",
link: function ($scope, $element, $attr) {
}
}
}
]);
:
angular.module('moduleMihai').controller('someController',
['$scope', '$http', function ($scope, $http) {
$scope.durations = [{
field: 'yearly',
title: 'Yearly'
}, {
field: 'monthly',
title: 'Monthly'
}, {
field: 'weekly',
title: 'Weekly'
}];
$scope.selectedDuration = $scope.durations[0];
$scope.handleDurationSelection = function() {
console.log($scope.selectedDuration.field + ' selected');
$scope.someData.title[0] = "SOMETHING ELSE!!";
};
$scope.someData= {
title: ['Value1', 'Value2', 'Value3'] };
}]);
ディレクティブは、その中の任意のものを持っていない
<div ng-controller="someController">
<div>
Child: {{someData.title[0]}}
<select
ng-options="item.title for item in durations"
ng-model="selectedDuration"
ng-change="handleDurationSelection()">
</select>
</div>
だから、これを値が選択されると、子:{{someData.title [0]}}の上の値が正しく更新されます。しかし、ここで1 - 親は:{{someData.title [0]}}、主経路ではない:
<div ng-controller="someController">
<div>
Parent: {{someData.title[0]}}
<duration-selection></duration-selection>
</div>
私は親スコープが異なる更新するために更新する必要がありますディレクティブ
に役立ちます。 「角度」タグは、角度v2 +のものです。そうすれば、適切な視聴者の注目を集めることができます。 – DeborahK
確かに、ありがとうございます。実際にもう一度質問 –