加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 角度新路由器 – 嵌套组件和路由

发布时间:2020-12-17 07:34:56 所属栏目:安全 来源:网络整理
导读:我正在使用新的角度路由器,想要尝试一个使用组件和嵌套组件的用例. 下面是我写的JavaScript代码来定义两个组件和路由: angular.module('app',['ngNewRouter']) .controller('AppController',function ($router) { $router.config([ { path: '/parent',compo
我正在使用新的角度路由器,想要尝试一个使用组件和嵌套组件的用例.

下面是我写的JavaScript代码来定义两个组件和路由:

angular.module('app',['ngNewRouter'])
  .controller('AppController',function ($router) {

  $router.config([
    {
      path: '/parent',component: 'parent'
    }
  ]);

})
.controller('ParentController',function ($router) {

  this.name = 'Parent component';
  $router.config([
    {
      path: '/child',component: 'child'
    }
  ]);

})
.controller('ChildController',function () {

  this.name = 'Child component';

})
.config(function ($componentLoaderProvider) {

  $componentLoaderProvider.setTemplateMapping(function (compName) {
    return compName + '.html';
  });  

});

和HTML部分:

<!-- index.html -->
<body ng-controller="AppController as app">
    <a ng-link="parent">Go to parent</a>
    <div ng-viewport></div>
</body>

<!-- parent.html -->
{{ parent.name }}<br/>
<a ng-link="child">Show child</a>
<div ng-viewport></div>

<!-- child.html -->
{{ child.name }}

这是一个包含以上代码的Plunker:http://plnkr.co/edit/yWCFgXQI491EYvIldjyR

基于此代码,我有以下问题/问题:

>如果我去最低级别(#/ parent / child),然后点击刷新,则不再显示父组件和子组件.即使URL仍然相同,路由也不会恢复.我是否需要重新启动或执行某些操作来恢复页面的状态?这是一个非常基本的功能,可以将网址加入书签.
>如果我去最低级别(#/父/子),然后点击转到父链接,URL被正确设置为#/ parent,但子组件仍然可见.

打击我的第一件事是,您没有使用任何指向要显示的父级和子级的标识符.

如何/在哪里获得这些信息?你的网址看起来会更好一些(甚至可以解决这个问题,如果它被写成

/parent/:parentId/

要么

/parent/:parentId/child/:childId.

我自己主要使用routeProvider和routeParameters,他们提供这个功能,没有任何麻烦,但是看起来好像纯粹是学术性的,我会尝试阅读模块实际在做什么以及检查是否存在github问题中的一个相关问题.

此外,this page from the documentation似乎对这个问题有所了解.

如果这不是帮助你,你会考虑通过给我们更多的信息来帮助我们吗?

祝你好运!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读