为什么我得到'错误:$ injector:modulerr模块错误'在这个基本的控制器?

时间:2015-06-24 19:26:04

标签: javascript angularjs angularjs-controller

使用AngularJS 1.3.15

jsFiddle:http://jsfiddle.net/leongaban/2g8vwmzo/

  

由于以下原因导致无法实例化myApp模块:   错误:[$ injector:nomod] http://errors.angularjs.org/1.3.15/ $ injector / nomod?p0 = myApp       在错误(本机)       在https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.15/angular.min.js:6:417       在

(function() {
'use strict';
var app = angular
    .module('myApp', ['MyCtrl'])
    .controller('MyCtrl', Controller);
Controller.$inject = ['$scope'];

function Controller($scope) {
    var vm = this;
    var vs = $scope;

    activate();

    ////////////////////////////////////////////////////////////////

    function activate() {
        vs.name = "stackoverflow";

        vs.fonts = [
            {title: "Arial" , text: 'Arial rules!' },
            {title: "Helvetica" , text: 'Helvetica is hot!' }
        ];

        vs.change= function(option){
            alert(option.title);
        }
    }
}
})();

标记:

<div ng-app="myApp" ng-controller="MyCtrl">

    <h1>{{name}}</h1>

    <select ng-model="opt"
            ng-change="change(font)">

        <option ng-repeat="font in fonts" value="{{font.title}}">
            {{font.title}}
        </option>

    </select>

    <p>{{opt}}</p>
</div>

1 个答案:

答案 0 :(得分:3)

更改此

.module('myApp', ['MyCtrl'])

.module('myApp', [])

你很高兴去!

模块函数中的第二个参数是模块依赖项的数组,它是myApp模块所依赖的其他模块。 MyCtrl是控制器而不是模块。

更新:更改小提琴设置。将第二个下拉列表设为no wrap in body

看到它在这里运行http://jsfiddle.net/0h4cs2tp/