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

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

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

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

    var selectedItem;
    ... functions go here
});


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

 serviceA.selectedItem = someItem;


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

<span>{{serviceA.selectedItem.value}}</span>


即使selectedItem设置正确,跨度也不会更新。我究竟做错了什么 ?

最佳答案

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

$scope.serviceA = serviceA;

http://jsfiddle.net/MzJsZ/

08-15 17:28