代码之家  ›  专栏  ›  技术社区  ›  Diego

角度4仅刷新页面部分

  •  1
  • Diego  · 技术社区  · 9 年前

    Plunker 我在哪里实现了这个流程:

    已更新 :我解决了问题,但每次都会调用标题组件,我必须将标题组件放入每个html中,有更好的方法吗?

    1. 登录
    2. 显示国家列表(用户信息在顶部)
    3. 返回列表

    我只需要刷新国家列表的部分,但在我的Plunk中,你可以看到整个页面正在刷新,我想保持用户信息在顶部(静态)。

    谢谢!

    @Component({
    selector : 'login',
    template: `
    <input type="text" value="james">
    <input type="password" value="123">
    <button (click)="logIn()">Login</button>
    `
    })
    class LoginComponent {
    constructor(private route: ActivatedRoute,
                private router: Router) { }
    
        logIn () {
            //LOGIN LOGIC
            this.router.navigate(['/base']);
        }
    }
    
    3 回复  |  直到 9 年前
        1
  •  0
  •   TheUnreal    9 年前

    这个 router-outlet 这意味着您必须将用户模板代码放在

    <label>User: Mr. James</label> 
      <label>Role: Administrator</label>
      <hr>
    <router-outlet>
    
        2
  •  0
  •   CharanRoot    9 年前

    首先创建公共头组件,并使用 routerLink router.navigate

    https://angular.io/guide/router

    普朗克 https://plnkr.co/edit/ApjJkNwS6hfS56DjL7vt?p=preview

        3
  •  0
  •   Diego    9 年前

    我终于解决了这个问题!我已经找到了做这件事的方法,但这不是正确的方法。以下是解决方案: http://plnkr.co/edit/pNoGFP6fva4SYmcspoOj?p=preview

     this.router.navigate(['/base',  { outlets: { mod : ['countrydetail', country_id ] } } ]);
    

    哪里:

    • mod是门店名称(应用程序路由中的子项)
    • country\u id:参数
    推荐文章