我有一项服务可以使
$rootScope.$broadcast('myEvent', somedata)
时。在控制器中我做
$scope.$on('myEvent', function (evt, somedata) { $scope.data = somedata })
问题是如果我省略
if (!$scope.$$phase) { $scope.$apply(); }
在控制器的事件监听器中,视图不会改变。这是为什么?有没有更好的方法来做到这一点?
我有一项服务可以使
$rootScope.$broadcast('myEvent', somedata)
时。在控制器中我做
$scope.$on('myEvent', function (evt, somedata) { $scope.data = somedata })
问题是如果我省略
if (!$scope.$$phase) { $scope.$apply(); }
在控制器的事件监听器中,视图不会改变。这是为什么?有没有更好的方法来做到这一点?