AngularJS:无法实例化我自己的模块

时间:2016-08-03 07:16:39

标签: javascript angularjs visual-studio typescript

我曾尝试从TypeScript和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]);
}

1 个答案:

答案 0 :(得分:2)

您已将模块'startPage'调用,并尝试以'mydModule'的形式访问它。 所以它应该是

<html ng-app="startPage">

mydModule是变量名,而不是上面示例中的模块名。