controller之间共享数据的问题

<!DOCTYPE html>
<html lang="zh" ng-app="myApp">
<head>
    <meta charset="UTF-8">
    <title>AngularJS</title>
    <script src="https://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
    <style>
        div{
            border:1px solid black;
        }
    </style>
</head>
<body>
     <div ng-controller="childCtrl1">
        <button ng-click="setPage()">换页</button>
     </div>
     <div ng-controller="childCtrl2">
        <span>当前页:{{nowPage}}</span>
     </div>
</body>
<script type="text/javascript">
var app = angular.module('myApp', []);
app.factory('pageNum', function() {
  var page = {
     num:1
   };
   return page;
});
app.controller('childCtrl1', function($scope,pageNum) {
    $scope.setPage = function() {
          pageNum.num++;
    };
});
app.controller('childCtrl2', function($scope,pageNum) {
    $scope.nowPage=pageNum.num;
});
</script>
</html>

在点击换页之后, childCtrl2里的nowPage为什么没有变?用怎么样修改factory才可以实现同步变化?
阅读 2.8k
3 个回答

这是时候不是应该用 broadcastemit

你在setPage这个函数试着打印一下pageNum.num,应该该是pageNum.page.num吧?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题