使用ui-view作为ui-router内的状态模板而不是外部模板

时间:2016-07-12 23:36:53

标签: angularjs angular-ui-router

我有一个当前使用角度 ui-router 模块依赖项的应用。我目前使用的ui-router的唯一方面是能够将$ stateParams应用/修改为$ scope,反之亦然,这样URL就可以改变数据在控制器中显示给用户的方式 (即url?param =某些东西会按某种方式过滤数据)

我在app.config中有以下内容来设置状态:

  $stateProvider
    .state('root', {
      url: '/?param',
      templateUrl: 'template.html',
      controller: 'listController',
      params: {
        param: {
            value: 'something',
            squash: true
        }
      }
    });

在我的主页上,当应用程序实例化时,template.html成功加载:

<div ng-app="myApp">
  <div ui-view>
  </div>
</div>

但是,我遇到了障碍,并意识到从 templateUrl 中调用模板是行不通的,因为这个应用程序是在另一个框架内构建的,因此需要从内部调用主页本身可以访问其全部功能。

作为AngualrJS的菜鸟,我想知道是否有人能告诉我在保持 $ stateParams 和其他 ui-router 的逻辑的同时,最好的方法是什么?强大的>未来的能力。

例如,我可以从状态中删除 templateUrl 参数,并直接在 ui-view 中调用控制器,如下所示:

<div ng-app="myApp">
<div ui-view>
    <div ng-controller="listController">
        do something
    </div>
</div>
</div>

我还考虑将整个逻辑从使用 ui-router 更改为仅使用 $ location 服务,但我想知道是否有办法实现此目的无需过度干预。

0 个答案:

没有答案