2016-08-03 3 views
0

Я попытался начать с TypeScript и AngularJS, но после первых нескольких строк на основе учебника я получаю эту запутанную ошибку.AngularJS: Не удалось создать экземпляр моего собственного модуля

Кажется, что-то не так с моим mydModule?

angular.js:68 Uncaught Error: [$injector:modulerr] Failed to instantiate module mydModule due to: Error: [$injector:nomod] Module 'mydModule' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.

index.html

<html ng-app="mydModule"> 
<body>  
    <script src="Scripts/angular.js"></script> 
    <script src="App_Scripts/start.js"></script> 
    <script src="App_Scripts/startController.js"></script> 
    <div class="wrapper container"> 
     <div class="row" ng-controller="startController as vm">  
       <div id="content"> 
        Tst: 
        <ul> 
         <li ng-repeat="label in vm.sequence"> 
          <span ng-style="{'background-color':label.Color}">{{label.Text}}</span> 
         </li> 
        </ul> 
       </div> 
     </div> 
    </div> 
</body> 
</html> 

start.ts

/// <reference path="../scripts/typings/angularjs/angular.d.ts" /> 
module DosierradApplication { 
    export class StartPage { 
     static mydModule = angular.module('startPage', ['ngResource']); 
    } 
} 

startController.ts

/// <reference path="../scripts/typings/angularjs/angular.d.ts" /> 
/// <reference path="start.ts" /> 
module DosierradApplication { 
    export class startController { 
     constructor(private $scope: ng.IScope) { 

     } 

     sequence = [ 
      { 
       "Id": 0, 
       "Text": "all good", 
       "Color": "#0f0" 
      }, 
      { 
       "Id": 1, 
       "Text": "not good", 
       "Color": "#ff0" 
      } 
     ]; 
    } 

    StartPage.mydModule.controller('startController', ["$scope", startController]); 
} 

ответ

2

Ты назвал свой модуль 'startPage' и пытаемся получить к нему доступ как 'mydModule'. Так оно и должно быть

<html ng-app="startPage"> 

mydModule это имя переменной, а не имя модуля в приведенном выше примере.

Смежные вопросы