iT邦幫忙

0

componentInstance 怎麼用? 網路上很難查

componentInstance 這個東西
有看到用法似乎是可以用來代表特定component

const Dialog = this.accountList.open(SelectDialogComponent);
console.log(Dialog)
MatDialogRef {…}
componentInstance: SelectDialogComponent
    onSubmit: EventEmitter_ {…}
    __ngContext__: LRootView(31) […]
    __proto__: Object

看起來好像是一個類似target的東東(?,
那我就想說以後都用這個來對component取值就好啦?
但是我如果直接寫在component後面
const atest = AtestComponent.componentInstance;
卻是不行的
得到這個錯誤

Property 'componentInstance' does not exist on type 'typeof AtestComponent'

為什麼只對Dialog的component有用?怎麼回事/images/emoticon/emoticon10.gif

1 個回答

1
tunin
iT邦新手 5 級 ‧ 2021-03-22 14:28:14
最佳解答

對象不同喔
你的寫法一個是物件,一個是類別,這兩者具備的method是不同的
舉個簡單的例子

class A {
    get attr1(){
        return "test fun1";
    }
}
const a = new A();
// 下面正常
console.log(a.attr1);
// 下面會拋出不具備fun1的錯誤
console.log(A.attr1);

原來如此-------!(驚
照你說的試一下
const atest = new AtestComponent;
atest裡面也可以抓到丟出來的值
3Q~~~~

我要發表回答

立即登入回答