angularjs:使用服务在控制器之间进行通信

Sam*_*Sam 2 angularjs angularjs-service

我有一个注入我的控制器的服务.该服务定义了许多功能.

现在我想向该服务添加一个变量,该变量将在应用程序中保存selectedItem.我这样做了:

angular.module('myservices', []).
factory('serviceA', function () {        

    var serviceA= {  
      selectedItem: selectedItem,      
      ... more functions here
    };
    return serviceA;

    var selectedItem;
    ... functions go here
});
Run Code Online (Sandbox Code Playgroud)

在我的一个控制器中,我设置了所选项目:

 serviceA.selectedItem = someItem;
Run Code Online (Sandbox Code Playgroud)

在另一个控制器中,视图引用所选项目,如下所示:

<span>{{serviceA.selectedItem.value}}</span>
Run Code Online (Sandbox Code Playgroud)

即使正确设置selectedItem,也不会更新范围.我究竟做错了什么 ?

noj*_*noj 7

要在视图中访问服务,您需要将其分配给范围:

$scope.serviceA = serviceA;

http://jsfiddle.net/MzJsZ/