未捕获的错误:[$ injector:modulerr]

时间:2014-08-03 06:22:38

标签: angularjs

原谅我。我看过许多同名的主题,但他们没有帮助我。可能每个人都有一个特定的代码。

    var app = angular.module('iop', []);
    // Set up the service factory to create our Items interface to the

    var obj={name:'sasha'}
    var obj2= {status: 'run'}

    app.factory('dataService', function(){
        return{

                text: ' js-frame?',
                author: 'Vani'
            }           
    })

    app.controller('QuestionController',['obj','$scope','obj2','dataService'
        function QuestionController(object,$scopes,object2,dataService){

            $scopes.data= object.name

         $scopes.text= object2.status +dataService.text

        }]
    )


<div ng-controller = "QuestionController">
Status :<p> {{data}}</p>
app: <p>{{text}}</p>
</div>

错误: 未捕获的SyntaxError:意外的令牌函数index.html:46 未捕获的错误:[$ injector:modulerr]

2 个答案:

答案 0 :(得分:3)

  1. obj和obj2是普通对象,你没有将它们注册为角度服务\提供者\常量\任何东西,所以它们不能注入。

  2. 不要使用缩小版角度,你会收到更好的错误信息。

答案 1 :(得分:3)

这两个变量:

var obj={name:'sasha'}
var obj2= {status: 'run'}

应该是模块值:

app.value("name", "sasha");
app.value("status", "run");

然后可以将它们注入您的控制器:

 app.controller('QuestionController',['name','$scope','status','dataService',
            function QuestionController(name,$scope,status,dataService){

这一行:

 app.controller('QuestionController',['obj','$scope','obj2','dataService'
        function QuestionController(object,$scope,object2,dataService){

dataService

之后缺少逗号
app.controller('QuestionController',['obj','$scope','obj2','dataService',
         function QuestionController(object,$scope,object2,dataService){

您也拼错了 $ scope 几次。 (有 $ scopes

希望这些更正有所帮助。