利用factory和service方法定义服务,通过两个控制器利用同一个服务达到控制器间数据共享的效果。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body ng-app="app">
<div ng-controller="Controller1">
<input type="text" ng-model="value1.message">
<p>first:<span ng-bind="value1.message"></span></p>
</div>
<div ng-controller="Controller2">
<p>second:<span ng-bind="value2.message"></span></p>
</div>
<script src="http://cdn.bootcss.com/angular.js/1.4.0-rc.2/angular.min.js"></script>
<script type="text/javascript">
angular.module('app', [])
.factory('Data', function() {
return {
message: ''
};
})
.controller('Controller1', function($scope, Data) {
$scope.value1 = Data;
})
.controller('Controller2', function($scope, Data) {
$scope.value2 = Data;
});
</script>
</body>
</html>
这里使用的是factory方法,定义了名为Data的服务,这个服务就是连接两个controller的桥梁。
转载于:https://blog.51cto.com/iampomelo/1666896