Làm cách nào để thay đổi biến và dễ dàng truyền chúng trở lại ParentCtrl mặc dù var mới 'được khởi tạo trong ChildCtrl? Thêm điểm cho tối thiểu để có $ trên và $ đồng hồ của (làm cho nó dễ dàng hơn để thực hiện)Angular JS tuyên truyền biến phạm vi con thay đổi thành phạm vi cha mẹ
ParentCtrl
ChildCtrl/ChildCtrl2/ChildCtrl3/ChildCtrl4
- Xem
ChildCtrl của tôi chỉ đủ khác nơi tôi không thể tóm tắt dễ dàng bố cục aster và ng-view, nhưng tất cả đều phụ thuộc vào các hàm giống nhau trong ParentCtrl.
$ scope.searchĐiều khoản được xác định trong ParentCtrl nhưng hộp nhập với ng-model = 'searchTerms' nằm trong chế độ xem của bộ điều khiển con. Khi thay đổi này var nó không được phản ánh trong ParentCtrl chỉ ChildCtrls.
Ví dụ: http://jsfiddle.net/JHwxP/22/
HTML phần
<div ng-app>
<div ng-controller="Parent">
parentX = {{x}} <br/>
parentY = {{y}}<br/>
<div ng-controller="Child">
childX = {{x}}<br/>
childY = {{y}}<br/>
<a ng-click="modifyBothScopes()">modifyBothScopes</a><br>
<br>
The changes here need to appear in 'Parent'. <input ng-model='y'>
</div>
</div>
</div>
Controller
function Parent($scope) {
$scope.x= 5;
$scope.y= 5;
}
function Child($scope) {
$scope.modifyBothScopes= function() {
$scope.$parent.x++;
};
}
CẬP NHẬT
Tôi hiện đang cố gắng một cách tiếp cận dịch vụ chia sẻ: https://gist.github.com/exclsr/3595424
CẬP NHẬT
Cố gắng một Emit/hệ thống phát sóng
SOLVED Vấn đề: tôi đã lưu trữ $ scope.searchTerms trong các phụ huynh và khi thay đổi đã tạo ra một không gian trong con $ phạm vi.
Giải pháp: Tôi đã thực hiện $ scope.search.terms trong cha mẹ và khi được thay đổi ở trẻ, nó sẽ phát sinh đến cha mẹ.
Ví dụ: http://jsfiddle.net/JHwxP/23/
Tôi đã biết Misko "Nếu bạn không sử dụng dấu chấm, bạn đang làm gì đó sai". nói chuyện nhưng tôi chưa bao giờ có kinh nghiệm tại sao. Dưới đây là ví dụ làm việc về câu trả lời của bạn: http://jsfiddle.net/JHwxP/23/ –
Ok, giờ tôi có thể thấy người chết !!!!! Cám ơn –