angularJS--多个控制器之间的数据共享

来源:互联网 发布:c语言合法关键字 编辑:程序博客网 时间:2024/06/04 17:52

为了在控制器之间共享数据,需要在服务中添加一个用来储存用户名的方法。记住,服务在
应用的生命周期内是单例模式的,因此可以将用户名安全地储存在其中。

复制代码
<!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;
});

  

0 0