Angular2基礎02:模板引用變量的使用


模板引用變量

需求:

1、當用戶在組件AppComponent(舉例)的input 框輸入時要求在頁面上同步顯示用戶輸入值。
2、將用戶輸入的值傳遞到事件中,被獲取進行一系列操作。

 

第一種方法:DOM 事件攜帶
DOM 事件攜帶可能對組件有用的信息,所有標准 DOM 事件對象都有一個target屬性, 引用觸發該事件的元素

在事件中傳遞$event事件對象,然后通過 $event.target.value可以獲取該值。

類型化事件對象揭露了重要的一點,即反對把整個 DOM 事件傳到方法中,因為這樣組件會知道太多模板的信息。

所以該方法不是最好的方法。

 

 

第二種方法:模板引用變量

為什么它叫:模板引用'變量,顧名思義就是引用模板。既然是引用變量,那么他應用了誰?這些變量提供了從模塊中直接訪問元素的能力,在標識符前加上井號 (#) 就能聲明一個模板引用變量。

優點:這個模板完全是完全自包含的。它沒有綁定到組件,組件也沒做任何事情。這里的自包含的意思是:它不用與Component進行交互。

 

 何時更新綁定

你可能會思考? 既然他不用與Component進行交互,豈不是 (keyup)="doSomething" 這個綁定表達式也可以省略,答案是錯誤的!

原因:只有在應用做了些異步事件(如擊鍵),Angular 才更新綁定(並最終影響到屏幕)

本例代碼將keyup事件綁定到了數字0,這是可能是最短的模板語句。 雖然這個語句不做什么,但它滿足 Angular 的要求,所以 Angular 將更新屏幕。

看看 AppComponent里面什么也不寫,也能完成交互效果。

 

模板中(template or templateUrl)this 的指向問題?

模板中this指向,他所屬的component類,本例中的this 指向 Appcomponent,你可以在控制台中打印並查看


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM