这是app.js
:
var angular = angular.module('ngApp', ['ngRoute']);
angular.config(function($routeProvider) {
$routeProvider
.when('/', {
templateUrl: '../templates/companies.html',
controller: 'companies'
})
.........
});
这是companies.js
:
angular.module('ngApp').controller('companies', ['$scope', function($scope) {
.........
}]);
这是index.html
:
<head>
<title>Basic demo</title>
<script src="angular.js"></script>
<script src="angular-route.js"></script>
<script src="js/app.js" type="text/javascript"></script>
<script src="js/Controllers/companies.js" type="text/javascript" ></script>
</head>
我一直收到这个错误:
未捕获的TypeError:angular.module不是函数 在companies.js:1
我做错了什么?
答案 0 :(得分:2)
您正在尝试使用名为angular的变量。想想导致该变量存在的原因。这可以在angular.js脚本中找到,然后必须先包含它。
当你的角度代码运行时,角度还不存在。这是一个错误(请参阅Dev Tools的控制台窗口)。请使用相同版本的Angular文件和angular-route!
答案 1 :(得分:0)
您的问题是您在angular
文件中覆盖了app.js
个对象:
var angular = angular.module('ngApp', ...
尝试将angular
变量重命名为其他内容,例如app
。
以下是它的一个例子: http://plnkr.co/edit/t9KoqROnfWda8XsThOPE
答案 2 :(得分:-1)
(function () {
'use strict';
var myApp = angular.module('ngApp', ['ngRoute']);
myApp.config(function($routeProvider) {
$routeProvider
.when('/', {
//....
})
})();
答案 3 :(得分:-1)
使用相同版本的Angular和AngularRoute
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular-route.js"></script>