我目前有一些逻辑,我想简化,如果可能只使用html模板(点击)
我有一个可折叠的div,当点击时,变得"活跃"
目前我的div是:
<div class="collapsible-header blue darken-2" (click)="getDataForTable($event)">
Run Code Online (Sandbox Code Playgroud)
然后我检查元素的类列表
function getDataForTable($event: any){
let classList = $event.target.classList;
if(classList.contains("active")){
//do nothing div is closing
} else {
//get data for table since we are opening the div to show the body
}
}
Run Code Online (Sandbox Code Playgroud)
我希望这个(click)动作只有在类不是"活动"时触发(意味着当点击为"活动"时不会触发);
我怎么能用模板语法呢?
Gün*_*uer 15
<div #mydiv
class="collapsible-header blue darken-2"
(click)="mydiv.classList.contains('xxx') ? getDataForTable($event) : null">
Run Code Online (Sandbox Code Playgroud)
dfs*_*fsq 13
你应该能够这样做:
<div class="collapsible-header blue darken-2"
(click)="$event.target.classList.contains('active') || getDataForTable($event)">
Run Code Online (Sandbox Code Playgroud)
然后在函数中你只需要添加类:
function getDataForTable($event: any) {
$event.target.classList.add('active');
// get data for table since we are opening the div to show the body
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20730 次 |
| 最近记录: |