我在下面的代码中收到一个错误,说this未定义。
<div class="location-list__item" v-for="(value, key) in locations.data">
<div class="location-list__item--text"
:class="{ selected: selected === key }"
@click="() => { this.selected = key; this.manageSurrounding = false }">
<i class="fas fa-compass"></i> {{ value.name }}
<span v-if="value.changed" class="has-text-danger"> Changed</span>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
但是,如果我更改此行:
@click="() => { this.selected = key; this.manageSurrounding = false }"
对此
@click="selected = key"
它工作正常,但是我需要同时更改manageSurrounding并且我不想为这么简单的事情创建一个方法。
小智 5
您可以使用分号进行多项赋值,就像您编写的上述语句一样。
<div class="location-list__item" v-for="(value, key) in locations.data">
<div class="location-list__item--text"
:class="{ selected: selected === key }"
@click="selected = key;manageSurrounding = false"> # Like this
<i class="fas fa-compass"></i> {{ value.name }}
<span v-if="value.changed" class="has-text-danger"> Changed</span>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
61 次 |
| 最近记录: |