【发布时间】:2015-06-24 19:26:03
【问题描述】:
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>
【问题讨论】:
-
可能是因为你在
activate()定义之前触发了它 -
在这种情况下无论如何都不会将函数提升到顶部,但在没有激活函数的情况下也尝试过,但仍然遇到
$injector:modulerr
标签: javascript angularjs angularjs-controller