在另一个视图Angular中进行更改时更新视图

时间:2016-06-20 01:08:59

标签: angularjs

每个视图我有一个控制器。我想在用户单击一个向数据库添加元素的按钮后,然后该元素出现在另一个视图中。

我尝试使用$ emit和$ on,但问题是我在每个视图中都有一个控制器,控制器不在同一个视图中。

广播的控制器:

angular.module('clientApp')
.controller('MovieViewCtrl',[ '$scope', '$rootScope' ,'$routeParams','$location' ,'Movie', 'Like', 'auth', function ( $scope, rootScope ,$routeParams,$location ,Movie, Like, auth) {

//Another code here....

Like.post($scope.like).then(function(){
        $rootScope.$broadcast('newLike', 'new like was added');
        $location.path('/movie/' + $routeParams.id)
});

接收的控制器:

angular.module('clientApp')

  .controller('MainCtrl'['$scope','$rootScope','Movie','Like','$location',

  function ($scope,$rootScope,$routeParams,Movie,Like,$location) {


   $rootScope.$on('newLike', function (event, arg) {
     $scope.receiver = 'got your ' + arg;
     console.log($scope.receiver);
     $scope.likes = Like.getList({limit:5}).$object;
   });
  }
]);

0 个答案:

没有答案