將這個問題標記爲重複之前...我知道你在想什麼,這已被問過無數次,但不完全是。
我從各種渠道知道我的研究(包括官方文檔和角度宗師的和傳道者)時,該$onInit
塊通常保留給初始化工作/邏輯依賴角已經完成了所有它的綁定的。
但是,變量初始化並不適合這個「工作/邏輯」定義。特別是沒有任何角度邏輯的變量。出於這個原因,ES6構造函數似乎更適合變量初始化。這同樣適用於那些需要lexicaly界範圍回調,像這樣的方法綁定:
class myController() {
constructor() {
this.myVariableOne = 1,
this.myVariableTwo = 2,
this.myVariableThree = 3;
this.myMethod = this.myMethod.bind(this);
}
$onInit() { }
myMethod() {
console.log(this.myVariableOne, this.myVariableTwo, this.myVariableThree);
}
}
雖然這看起來不錯,在下面的所作所爲事「的角度方式」儘可能僅使用$onInit
塊初始化工作/邏輯,我也看到很多人說角度控制器類構造函數只能用於依賴注入設置。
所以,這讓我感到困惑。構造函數似乎是變量初始化和方法綁定的最佳選擇,並且$onInit
看起來好像並不真正適合該角色,但它確實不清楚我應該如何使用它。有人可以幫我找出我應該把我的變量定義和方法綁定?
在上面的代碼中沒有this.myVariableOne等 – estus
哎呀,對不起,修正了 –