Angularjs 控制器在ui路由器中不工作

Angularjs 控制器在ui路由器中不工作,angularjs,Angularjs,我的路由器配置中有这个主状态 .state('home', { url: '', controller: 'addMovieCtrl', views: { "frontpage": { templateUrl: '../assets/angular-app/templates/_frontpage.html', // controller: 'addMovieCtrl' }, "movieoverview": { templ

我的路由器配置中有这个主状态

.state('home', {
  url: '',
  controller: 'addMovieCtrl',
  views: {
    "frontpage": {
      templateUrl: '../assets/angular-app/templates/_frontpage.html',
      // controller: 'addMovieCtrl'
    },
    "movieoverview": {
      templateUrl: '../assets/angular-app/templates/_movieTemplate.html',
      // controller: 'addMovieCtrl'
    }
  }
})
我希望我的两个视图都能与addMovieCtrl控制器一起工作,但是如果我将控制器分配为上面示例中的状态,则不会调用控制器


当我在我现在已经注释掉的视图中分配控制器时,它确实会被调用,但是我非常确定我应该能够将控制器分配到一个状态,这会将控制器添加到所有视图中。是吗?

否,您需要为每个视图分配一个控制器。因此,注释掉的代码是正确的方法

views: {
    "frontpage": {
      templateUrl: '../assets/angular-app/templates/_frontpage.html',
      controller: 'addMovieCtrl'
    },
    "movieoverview": {
      templateUrl: '../assets/angular-app/templates/_movieTemplate.html',
      controller: 'addMovieCtrl'
    }
  }

是的,我刚刚想出来了。我在该状态中指定的控制器仅适用于该状态中的模板。而不是那些观点。这对我来说没什么意义。是的,我同意。应该有办法解决这个问题。但是,就目前而言,您的注释掉的代码才是正确的选择。