今天早上醒来发现我的应用程序更长。它使用类似于Angular-ui-router教程Hello Galaxy(https://ui-router.github.io/tutorial/ng1/hellogalaxy)中使用的组件框架,它在今天早上也没有用。
这样的国家:
var states = [
{ name: 'hello', url: '/hello', component: 'hello' },
{ name: 'about', url: '/about', component: 'about' }]
然后注册各州。
这样的组件:
angular.module('app').component('hello', {
template: '<h3>{{$ctrl.greeting}} galaxy!</h3>' +
'<button ng-click="$ctrl.toggleGreeting()">toggle greeting</button>',
controller: function() {
this.greeting = 'hello';
this.toggleGreeting = function() {
this.greeting = (this.greeting == 'hello') ? 'whats up' : 'hello'
}
}
})
我使用的是Angular 1.58和最新的ui-router。
错误讯息是: 未捕获的TypeError:angular.module(...)。组件不是函数(匿名函数)@ hello.js:1 about.js:1 Uncaught TypeError:angular.module(...)。component不是函数(匿名函数)@ about.js:1等。
昨晚,我的app和ui-router的应用都运行良好。
答案 0 :(得分:0)
确定。 ui-router演示,以及我的应用程序正在使用
<script src="//unpkg.com/angular@latest/angular.js"></script>
现在返回AngularJS v1.2.32而不是Angular 1.5.8。这就是问题所在。我刚刚改为
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script>
这解决了这个问题。