我正在尝试使用这样的参数发出函数。
template: `
<div class="searchDropDown">
<div class="dropdown is-active">
<div class="dropdown-trigger">
<button class="button" aria-haspopup="true" aria-controls="dropdown-menu">
<span>{{selectedItem}}</span>
</button>
</div>
<div class="dropdown-menu" id="dropdown-menu" role="menu">
<div class="dropdown-content">
<a class="dropdown-item" v-for="item in drop" @click="$emit('select-menu-item($event)')">
{{item.name}}
</a>
</div>
</div>
</div>
</div>
`
这是我试图将项目像参数一样传递给方法。
这是我尝试发出功能的组件:
<search-component v-bind="searchProps" @select-menu-item="selectedITem($event)"></search-component>
这是我的方法:
selectedITem(arg1) {
console.log("cl")
console.log(arg1)
}
这里是如果我不尝试传递参数一切正常,所以我的方法 selectedITem 正在工作。当我尝试像这样传递参数时,什么也没发生,而且我没有收到任何错误。
原文由 user3348410 发布,翻译遵循 CC BY-SA 4.0 许可协议
$emit()
中的以下参数是您发出的函数中的参数。并在您的组件方法中。
而在你实际的组件标记中,你不需要添加参数,只需要写对方法的引用 而不带括号。
样本