亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在不刷新整個頁面的情況下更新組件-Angular

如何在不刷新整個頁面的情況下更新組件-Angular

慕萊塢森 2019-12-20 11:04:45
我的頁面結構是:<app-header></app-header><router-outlet></router-outlet><app-footer></app-footer>如何在app-header不刷新整個頁面的情況下更新/刷新組件?一旦用戶成功登錄,我想在標題中隱藏“登錄”鏈接。標題在所有組件/路由中都是通用的。
查看完整描述

3 回答

?
慕村225694

TA貢獻1880條經驗 獲得超4個贊

許多解決方案之一是創建一個@Injectable()類,其中包含要在標題中顯示的數據。其他組件也可以訪問此類并更改此數據,從而有效地更改標題。


另一個選擇是設置@Input()變量和@Output()EventEmitters,可用于更改標頭數據。


根據需要編輯示例:


@Injectable()

export class HeaderService {

    private _data;

    set data(value) {

        this._data = value;

    }

    get data() {

        return this._data;

    }

}

在其他組件中:


constructor(private headerService: HeaderService) {}


// Somewhere

this.headerService.data = 'abc';

在標題組件中:


let headerData;


constructor(private headerService: HeaderService) {

    this.headerData = this.headerService.data;

}

我實際上還沒有嘗試過。如果獲取/設置無效,則可以將其更改為使用Subject();。


// Simple Subject() example:

let subject = new Subject();

this.subject.subscribe(response => {

  console.log(response); // Logs 'hello'

});

this.subject.next('hello');


查看完整回答
反對 回復 2019-12-20
  • 3 回答
  • 0 關注
  • 3112 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號