2013-02-10 100 views
0

简单的事情 - 在jsfiddle中工作,但不在我的文件中。我试图添加一些数据到模块的“工厂”,然后在我的控制器中使用它。 这是相关代码:AngularJS:错误:未知提供者

var challengesApp = angular.module('challengesApp', []); 
challengesApp.factory('Challenges', function() { 
    var challenges = [ 
     { 
      'program': { 
       "num": "1", 
       "name": "aaa" 
      }, 
      'challengeDesc': "desss", 
      'items': [ 
       {title:"aaa", 
        desc:"bbb", 
        link: "www.google.com", 
        fiction: true}, 
      ] 
     } 
    ]; 
    return challenges; 

}); 


function ChallengeCtrl($scope, Challenges) { 
    $scope.challenges = Challenges; 
    etc... 
} 

function ChallengeListCtrl($scope, Challenges) { 
    $scope.challenges = Challenges; 
    etc.. 
} 

和HTML:

<body ng-app="challengesApp"> 
     <div ng-controller="ChallengeCtrl"> 
      <div id="question"> 
       <h2>{{ challenge.challengeDesc }}</h2> 
       <ul> 
        <li ng-repeat="item in challenge.items"> 
         <strong>{{ item.title }}</strong> - {{ item.desc }} 
        </li> 
       </ul> 
      </div> 
     </div> 

     <div ng-controller="ChallengeListCtrl"> 
      <div id="programs_list"> 
       <ul> 
        <li ng-repeat="program in challenges | orderBy:orderProp:reverse"> 
         <a href="" ng-click="changeChallenge(program)"> 
         {{ program.program.num }} - {{ program.program.name }} 
         </a> 
        </li> 
       </ul> 
      </div> 
     </div> 


     <script src="js/main.js"></script> 
    </body> 

东西在这里,我失踪?

+0

您是否有任何机会在您的目标应用程序中减少文件?如果不是,你可能只是缺少'ng-app ='challengesApp''?很难说更多没有看到现场代码... – 2013-02-10 15:42:04

+0

@ pkozlowski.opensource,你可以从我的代码中看到 - 正确的身体标签:所以这不是问题。并且我不会缩小... – SnirD 2013-02-10 16:02:50

+2

在这种情况下,将很难提供更多帮助,因为您发布的代码在plunker中可以正常工作:http://plnkr.co/edit/RWJqbJ2EOu0FgCpqnxiz?p=preview The只有在JSON数据结束时才会有一些额外的逗号。您最终可以检查http://stackoverflow.com/q/12339272/1418796 – 2013-02-10 16:22:38

回答

3

所以,正如我怀疑的那样,这是一个愚蠢的错误。在<html>标签是:

<html ng-app> 

<body>标签挡住了正确ng-app属性。

相关问题