<table>
<tr><td colspan="{{1 + 1}}">Three-Four</td></tr>
</table>
앵귤러 오류가 발생한다.
colspan="{{1 + 1}}"은 HTML이 파싱된후 앵귤러에의해 동적으로 값을 설정하는 구문으로 동적으로 값을 변경할 수 있는 것은 요소노드의 프로퍼티에만 가능하기 때문이다.
colspan은 td의 프로퍼티가 아니고 속성이다.
속성은 HTML요소노드의 정적특성이기때문에 HTML코드에서 값이 결정되어 브라우저에의해 파싱될 수 있는 특성으로 동적으로 변경될 수 없는 특성을 가지고 있다.
td는 정적속성인 colspan이 있고 동적프로퍼티인 colSpan이 있다.
<table>
<tr><td colSpan="{{1 + 1}}">Three-Four</td></tr>
</table>
위와같이 변경하면 오류가 없다.
<table>
<tr><td [colSpan]="getVal()">Three-Four</td></tr>
</table>
colSpan에 바인딩하려면 당연히 동적특성인 colSpan프로퍼티에 바인딩해야 한다.
대부분의 요소노드는 td처럼 유사이름의 속성과 프로퍼티를 가지지 않는다.
위와같이 엄밀히 속성과 프로퍼티를 구분하면 요소노드의 동적특성을 가지는 프로퍼티에만 바인딩이 가능하지만 요소노드의 프로퍼티와 클래스인스턴스의 프로퍼티를 둘다 프로퍼티라고 하면 혼동되기때문에 요소노드 특성은 속성이라하고 클래스인스턴스 특성은 프로퍼티라고 구분하기로 한다.
td가 colspan, colSapn을 가지는 특별한 경우로 예외로 한다.