一尘不染

ui-router嵌套路由控制器未调用

angularjs

我正在尝试调用应该与home.category 路线链接的控制器,但并未被调用。怎么了

$stateProvider    
  .state("home", {
    // Use a url of "/" to set a states as the "index".
    url: "/",
    templateUrl: APP_CONFIG.baseUrl +
      'partials/layouts/home.html',
    controller: 'MainCtrl'
  })
  .state("home.category", {
    // Use a url of "/" to set a states as the "index".
    url: "c/:categoryId/:categorySlug",
    controller: function($stateParams) {
      alert($stateParams.categoryId);
    }
  })

阅读 167

收藏
2020-07-04

共1个答案

一尘不染

好吧,我发现从给定的文件线索的ui-router的说

您可以为模板分配控制器。 警告: 如果未定义模板,则不会实例化控制器。

https://github.com/angular-ui/ui-
router/wiki#controllers

但是我尝试添加template,但仍然没有用,然后我发现我的父路由模板没有<div ui- view></div>(我错误地删除了它),所以当我将其重新添加时,它可以工作:),因此,要实例化我们孩子的路由控制器,我们必须<div ui- view></div>在父母的路由模板中。

2020-07-04