站長資訊網
        最全最豐富的資訊網站

        淺析Angular中的模板引用變量

        本篇文章繼續學習Angular,帶大家了解一下Angular中的模板引用變量,希望對大家有所幫助!

        淺析Angular中的模板引用變量

        <input type="text" [value]="value" #name>

        1. 模板引用變量可以是Angualr模板中的DOM元素、Angular組件(指令),元素,TemplateRef,甚至Web組件的引用,而它具體是什么,則取決于它所依附的元素(不使用指令進行干預時)。如前文示例代碼中的模板引用變量name就是<input>這一DOM元素的引用。【相關教程推薦:《angular教程》】

        <app-component #component [input]="variable"></app-component> {{ component.input }} {{ component.func() }}

        通過模板引用變量我們獲得了app-component組件的實例引用,這使得我們可以輕松地在模板中訪問app-component組件內部的成員。
        2. Angular 根據你所聲明的變量的位置給模板變量賦值:

        • 如果在組件上聲明變量,該變量就會引用該組件實例。

        • 如果在標準的 HTML 標記上聲明變量,該變量就會引用該元素。

        • 如果你在 <ng-template> 元素上聲明變量,該變量就會引用一個 TemplateRef 實例來代表此模板。

        • 如果該變量在右側指定了一個名字,比如 #var="ngModel" ,那么該變量就會引用所在元素上具有這個 exportAs 名字的指令或組件。

        3. 將 NgForm 與模板變量一起使用
        這里的 NgForm 指令演示了如何通過引用指令的的 exportAs 名字來引用不同的值。在下面的例子中,模板變量 itemForm 在 HTML 中分別出現了三次。

        <form #itemForm="ngForm" (ngSubmit)="onSubmit(itemForm)">   <label for="name">Name</label>   <input type="text" id="name" class="form-control" name="name" ngModel required />   <button type="submit">Submit</button> </form>   <div [hidden]="!itemForm.form.valid">   <p>{{ submitMessage }}</p> </div>

        * 如果沒有 ngForm 這個屬性值,itemForm 引用的值將是 <form> 元素。而 Com 和 Directive 之間的差異在于 Angular 在沒有指定屬性值的情況下,Angular 會引用 Component,而 Directive 不會改變這種隱式引用(即它的宿主元素)。(還沒讀懂什么意思.......

        而使用了 NgForm 之后,itemForm 就是對 NgForm 指令的引用,可以用它來跟蹤表單中每一個控件的值和有效性。

        與原生的 <form> 元素不同, NgForm 指令有一個 form 屬性。如果 itemForm.form.valid 無效,那么 NgFormform 屬性就會讓你禁用提交按鈕。

        . 其實在使用angular寫列表頁時,就會經常用到模板引用變量:

        淺析Angular中的模板引用變量

        淺析Angular中的模板引用變量

        在列表組件的input框里引用ngxQuery的executeQuery()方法。當然如果我們要在ts中使用模板引用變量,就要使用@ViewChild和@ViewChildren是Angular提供給我們的裝飾器。

        我們在ts中通過模板變量名獲取獲取到ngxQuery組件:

        淺析Angular中的模板引用變量

        在ts中就可以直接調用ngxQuery的ExecuteQuery()方法,當有參數傳入時刷新列表:

        淺析Angular中的模板引用變量

        (有關ViewChild裝飾器的有關內容可以移步******)

        對于父子組件之間,模板引用變量也可以直接用:

        buGroup是bugroupSelectComponent中的一個數組,通過父子組件把其作為模板引用變量傳過來:

        淺析Angular中的模板引用變量
        淺析Angular中的模板引用變量

        在父組件ts中獲取到子組件的值并使用:

        淺析Angular中的模板引用變量

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 亚洲午夜精品第一区二区8050| 亚洲国产一二三精品无码| 精品久久久久久国产牛牛app| 国产精品视频一区二区三区四| 久草欧美精品在线观看| 四虎国产精品永久一区| 国产午夜精品久久久久免费视| 亚欧无码精品无码有性视频 | 99久久这里只有精品| 亚洲综合国产精品第一页| 国内精品99亚洲免费高清| 四虎影永久在线观看精品| 99精品国产一区二区三区2021| 亚洲精品国产美女久久久| 日本国产精品久久| 国产欧美日本亚洲精品一5| 久久精品人人做人人爽电影| 国产精品免费AV片在线观看| 最新国产精品精品视频| 三级国产精品| 久久精品无码一区二区app| 国产精品福利区一区二区三区四区 | 精品国产AV一区二区三区 | 99久久精品国产一区二区| 国产成人亚洲精品| 国产精品水嫩水嫩| 精品无码日韩一区二区三区不卡| 在线精品亚洲一区二区小说| 欧美精品亚洲日韩aⅴ| 欧美精品黑人粗大视频| 久久久久九九精品影院| 久久精品无码一区二区日韩AV| 精品乱码久久久久久夜夜嗨| 国产在线国偷精品免费看| 精品午夜国产人人福利| 精品一区二区三区在线观看| 国产线视频精品免费观看视频| 国内精品99亚洲免费高清| 久久久91人妻无码精品蜜桃HD| 久久e热在这里只有国产中文精品99| 精品无码国产自产拍在线观看蜜|