從我的理解你基本上想要在兩個控制器之間進行通信。
第一個本能可能是創建一個父範圍並將數據綁定到它,但有一個更好的方法,一個服務。
您將數據綁定到這個服務,它可以作爲您的控制器之間的信使,像這樣:
angular.module('app', [])
.factory('Data', dataService)
.controller('firstController', firstController)
.controller('secondController', secondController);
function dataService() {
return { message: "I'm data from a service" };
}
function firstController($scope, Data) {
$scope.data = Data;
}
function secondController($scope, Data) {
$scope.data = Data;
}
和標記:
<h2>First controller</h2>
<div ng-controller="firstController">
<input type="text" ng-model=data.message />
{{ data.message }}
</div>
<h2>Second controller</h2>
<div ng-controller="secondController">
<input type="text" ng-model=data.message />
{{ data.message }}
</div>
Demo Explained very good at egghead.io
在鏈接,我必須使用'ng-href'還是正常的'href'也好? – Tiwaz89 2014-10-30 10:37:02
它很好地使用'ng-href',因爲**可能是**'$ scope.dataToFoward'變量在您點擊鏈接時未在控制器中設置。 – 2014-10-30 10:39:00
如果在您點擊鏈接'href =「#/ sub/{{dataToFoward}}」'時未設置'$ scope.dataToFoward'將導致'404'錯誤,但是'ng-href =「#/ sub/{{dataToFoward}}「'只在'dataToFoward'設置後才起鏈接作用,在'dataToFoward'設置之前它不會點擊。 – 2014-10-30 10:45:19