为了在控制器之间共享数据,需要在服务中添加一个用来储存用户名的方法。记住,服务在
应用的生命周期内是单例模式的,因此可以将用户名安全地储存在其中。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>12-angularjs的多个控制器数据共享</title> <script src="../js/angularjs.js"></script> <script src="../js/index12.js"></script> </head> <body> <!-- angularjs的数据绑定,双向绑定,M,V,c之间的绑定 --> <div ng-app="myApp"> <div ng-controller= "firstController"> <input type="text" ng-model="person.name" value="" /> firstData--{{person.name}} </div> <div ng-controller="secondController"> <input type="text" value="" /> secondData--{{person.name}} <div ng-controller= "firstController"> <input type="text" ng-model="Data.message" value="" /> firstData--{{Data.message}} </div> <div ng-controller="secondController"> <input type="text" value="" /> secondData--{{Data.message}} </div> </div> </div> </body> </html>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
var
myApp = angular.module(
'myApp'
, []);
myApp.factory(
'Data'
,
function
(){
return
{message:
'小平果'
};
});
myApp.controller(
'firstController'
,
function
($scope,Data){
$scope.person = {
name:
"肖果平"
};
$scope.Data = Data;
});
myApp.controller(
'secondController'
,
function
($scope,Data){
$scope.person = $scope.$$prevSibling.person;
//基本类型不能变的,只有对象才能引用
$scope.Data = Data;
});
|