Angularjs工厂没有工作

时间:2014-04-06 14:00:21

标签: javascript angularjs

我有这个js

var app = angular.module('MyApp', []);

app.factory('Data', function () {
    return {message: "I am data from a service"}
})

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

app.controller('SecondCtrl', function ($scope) {

})

这是我的HTML

<!DOCTYPE html>
<html ng-app="MyApp">
<head>
    <title>index</title>
    <script src="Scripts/angular.js"></script>
    <script src="Scripts/index.js"></script>
</head>
<body>


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

    <div ng-controller="SecondCtrl" >
        <input type="text" ng-model="message"/>
        <h2>{{message}}</h2>
    </div>
</body>
</html>

当我运行应用程序时,消息I am data from a service未加载到第一个控制器的h2中,尽管我已经将它出厂并将其传递给控制器​​

1 个答案:

答案 0 :(得分:2)

您正在分配$scope.data = Data。然后你应该在视图中访问它

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