最近在學angular4,由於angularjs中默認是雙向數據綁定,可是若是在比較複雜的頁面使用的話會引發性能問題,那是由於angularjs會在頁面保存一個全部數據綁定的列表,每當數據發生變化時,angularjs都會反覆查看列表,以保證數據一致性。 而後在angular4中默認是單向數據綁定。可是有時候仍是會要用到雙向數據綁定。我目前遇到兩種使用的場景: (1)是在同一組件中,頁面與控制器進行雙向數據綁定,通常是表單控件。用法是在頁面的表單控件中添加[(ngModel)]=」控制器中的屬性」; (2)是在子組件和父組件中使用。由於子組件和父組件進行通信的話會有其自身的機制。即輸入屬性和輸出屬性(@Input和@Output)。因此在子組件中的控制器中使用輸入屬性和輸出屬性,輸出屬性的名稱是輸入輸入名稱再加上Change(這樣能夠避免不用在父組件模板上添加自定義事件和在控制器中添加事件處理程序)。輸出屬性的用法就很少說了,(EventEmmiter對象)。而後在父組件模板引用子組件的標籤上上添加[(輸入屬性名稱)]=「父組件控制器屬性名稱」,這樣既可