工厂的数据未定义

时间:2013-12-21 22:39:47

标签: javascript jquery angularjs

我正在尝试使用angularJS。

我写了这个简单的例子:

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

myApp.factory( 'Data' , function() {
    return { message: "I'm data from a service" } 
});
function FirstCtrl($scope) {
    $scope.data = Data;
}
function SecondCtrl($scope) {
    $scope.data = Data; 
}

但是我收到以下错误消息:

ReferenceError: Data is not defined

我做错了什么

2 个答案:

答案 0 :(得分:1)

您正在使用您从未在全球范围内定义的Data

相反,因为您使用Angular的依赖注入机制定义它:

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

myApp.factory( 'Data' , function() {
    return { message: "I'm data from a service" } 
});

// angular will figure it out based on parameter name
myApp.controller("FirstCtrl",function($scope,Data) { 
    $scope.data = Data;
});

fiddle

答案 1 :(得分:1)

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

myApp.factory( 'Data' , function() {
    return { message: "I'm data from a service" } 
});