Angularjs组件不再起作用

时间:2016-10-11 16:32:10

标签: angularjs angular-ui-router

今天早上醒来发现我的应用程序更长。它使用类似于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的应用都运行良好。

1 个答案:

答案 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>

这解决了这个问题。