使用服务在控制器之间传递多个对象值

时间:2014-01-20 20:13:20

标签: javascript angularjs

我有两个控制器并设置了一个服务来保存数据:

var myApp = angular.module('myApp', []);
myApp.factory('Data', function() {
    return { message: "This is a message from a service", Type: "This is a type from a service" }
});


function FirstCtrl($scope, Data) {
    $scope.data = Data;
}

function SecondCtrl($scope, Data) {
    $scope.data = Data;
}

在我的HTML中,我有输入来绑定这些值:

    <div ng-controller="FirstCtrl">
      <input type="text" ng-model="data.message">
      <h1>{{ data.message }}</h1>
    </div>

    <div ng-controller="SecondCtrl">
      <input type="text" ng-model="data.type">
      <h1>{{ data.type }}</h1>
    </div>

但是,所有我从服务中退回的都是我的data.message,而data.type则没有。

为什么会这样?

1 个答案:

答案 0 :(得分:0)

这是一个简单的类型错误。 Factory返回一个Data对象,其中包含&#39; Type&#39;作为关键。在您的HTML中,您使用了&#39; type&#39;作为键而不是&#39; Type&#39;。