只前都只是在試完一下,沒有真正的介紹原理用法規則
這篇會開始介紹規則用法與簡單的小用途實例
之前的教學[hidden]即是用ng2的屬性綁定功能
那規則用法是什麼呢?
其實相當單純,就是今天如果想在元素上綁定一個屬性
只要用[]包住屬性名稱,右側則是要綁定的變數值
例如我要綁定id屬性
<div [hidden]="!edit" [id]="id">
<input type="text" [(ngModel)]="name" />
</div>
並且在.ts檔宣告一個id變數id = "abc";這樣去瀏覽器上看就可以看到該div的id="abc"
但是今天有一點要特別注意
我們想在td元素上的colspan屬性綁定2的值
<table border="1">
<tr>
<td [colspan]="2">1</td>
</tr>
<tr>
<td>2</td>
<td>3</td>
</tr>
</table>
回到瀏覽器上發現會報錯,問題是出在哪呢?就如本篇標題所示,[]是用來榜定property的
而colspan是attribute不是property
所以執行時會出現錯誤
至於property與attribute的差別,可以自行google
那ng2能榜定attribute嗎?當然可以
只要稍微改變一下寫法,在想榜定的attribute前面加上attr.
<table border="1">
<tr>
<td [attr.colspan]="2">1</td>
</tr>
<tr>
<td>2</td>
<td>3</td>
</tr>
</table>
這樣就可以正常的運作而使用attr.的綁定,就什麼名稱都可以正常綁定
常用的data-*也可以使用[attr.data-*]來綁定
那這樣綁定要做什麼?當然就是能在.ts中操作html上的屬性值啦
綁定的用法是不是相當的簡單又直覺呢?
初學時看教學文章,即使一個小步驟沒打,也容易會不知道怎麼往下做
故以下影片是一步一步做的,以補文章的不足
讲的清楚易懂,赞一个
回覆刪除