ui-router Angularjs控制器未加载

时间:2016-10-13 13:12:58

标签: javascript angularjs angular-ui-router

最后编辑:对于那些使用棱角分明材质的人来说,不要放一个像这样的视图

<md-content layout-padding=""> <div ui-view="addOppo"></div> </md-content>

你必须直接做

<md-content ui-view="addOppo" layout-padding=""> </md-content>

为什么?因为这会破坏你的控制器功能

这是我的问题,AddClientController没有加载,所以视图加载但不是我的控制器。名称很好,我在应用程序的另一部分使用它,它的工作原理。但是当我想在他的视图中重新使用addClient控制器时,只加载了视图。我真的不明白为什么ui-router不加载它。提前谢谢。

  function getStates() {
return [
{
  state: 'dashboard.addOpportunite',
  config: {
    url: '/addOpportunite',
    views: {
      '@': {
        templateUrl: 'app/commerciaux/addOpportunite/addOpportunite.html',
        controller: 'AddOpportuniteController',
        controllerAs: 'vm',
      },
      'addOppo@dashboard.addOpportunite': {
        templateUrl: 'app/clients/add/addClient.html',
        controller: 'AddClientController',
        controllerAs: 'vm2',
      }
    },
    title: 'Ajout Opportunite',
    ncyBreadcrumb: {
      label: 'Ajout Opportunite'
    }
  }
}
];

}

“为什么你说控制器没有加载?你怎么知道这个?” 我在addClient.html中有一个表单,而某些console.log没有出现。

编辑,我有一部分addOpportunite.html:

  <md-sidenav class="md-sidenav-right" md-component-id="right" md-whiteframe="4">
    <md-toolbar class="md-theme-indigo">
      <h1 class="md-toolbar-tools">Sidenav Right</h1>
    </md-toolbar>
    <md-content layout-padding="">
    <div ui-view="addOppo"></div>
      <md-button ng-click="vm.closeRightMenu()" class="md-primary">
        Close Sidenav Right
      </md-button>
    </md-content>
  </md-sidenav>

我终于发现我的控制器被调用但现在的主要问题是2控制器使用相同的命名函数,所以子视图控制器不会调用他的函数而是父函数。(例如:我有{ {1}}最后一个问题,实现函数与父控制器函数明显区别的最佳方法是什么?重命名?控制器为什么?我实际上是基于john papa的hotowel我的开发但是我没有真正看到他的风格指南我的问题的提示。我可以在哪里找到这个案例的另一个好的风格指南?

0 个答案:

没有答案