剛學angular js兩天,有一個疑惑,看到angular js中的ng-class指令可以為某一個元素結點添加對應的class。
但是想請問一下,這個跟直接在元素中加入class有什麼差別嗎? angular js最終還是會解析ng-class指令中的內容,然後再為元素加入對應的class。這麼做的優勢體現在哪呀?就是為了後期方便修改這個元素結點的class嗎。
高洛峰2017-05-15 17:07:31
例如:ng-class="{red: x > 5}"
如果x>5為true,則把名為red的class加入到class中,
用ng-class可以方便你在controller裡對x進行操作,就可以動態新增或刪除class,比你用javascript操作class那種在class清單裡新增或刪除class要方便多
天蓬老师2017-05-15 17:07:31
我們html中使用的class對應的value是一個string;
angular中的ng-xxx 對應的是一個表達式。例如你這裡的遇到的嗯ng-class, 對應的就是一個 key : value。
value為true時,套用key樣式。
例如 ng-class="{ someClass : true }";
注意,如果你的樣式為 some-class 則需要表示為字串類型 ,例如:
ng-class="{ 'some-class' : true }";