0
我有一個主控制器EventCtrl,它在其範圍內設置一個formData變量。
此控制器有一個setEventObject方法,該方法將覆蓋formData對象。
我的目的是能夠從子指令調用此方法,並遞歸地將新變量值應用於每個範圍。
這裏是控制器及其setEventObject功能:
app.controller('EventCtrl', function($scope) {
$scope.formData = {
id: 1,
name: 'tennis lesson'
}
$scope.events = [
{id: 1, name: 'tennis lesson'},
{id: 2, name: 'golf lesson'},
{id: 3, name: 'handball lesson'}
];
this.setEventObject = function(eventId) {
angular.forEach($scope.events, function(elem) {
if (elem.id == eventId) {
$scope.formData = {
id: elem.id,
name: elem.name
};
}
});
}
});
這裏是相關聯Plunkr,對鏈接的點擊,它應該設置形式輸入並復位FORMDATA變量。
感謝您的幫助!
你應該看看使用'$ broadcast'和'$ on',參見[docs](https://docs.angularjs.org/api/ng/type/$rootScope.Scope) – 2014-10-05 17:34:57