vue中如何通過函數(shù)傳參數(shù)
更新時間:2023年04月06日 08:37:37 作者:前端小問題
這篇文章主要介紹了vue中如何通過函數(shù)傳參數(shù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
vue通過函數(shù)傳參數(shù)
一,通過點擊事件本身的js特性傳參。
<view class="center_menu">
?? ??? ??? ??? ?<view class="menu_item" v-for="item in menus" @click="toAddress(item.address)">
?? ??? ??? ??? ??? ?<image :src="item.icon" mode="aspectFill" ></image>
?? ??? ??? ??? ??? ?<text>{{item.name}}</text>
?? ??? ??? ??? ?</view>
?? ??? ??? ?</view>將所需要的參數(shù)直接@click=“toAddress(item.address)”,放在函數(shù)的括號內傳遞。接受的時候如下:
methods: {
?? ??? ??? ?toAddress (e){
?? ??? ??? ??? ?console.log(e);
?? ??? ??? ?}
?? ??? ?},二,通過自定義屬性傳參,我經常用這種。
<view class="order_status">
?? ??? ??? ??? ??? ?<view class="status" v-for="item in status" @click="toAddress" data-id="1">
?? ??? ??? ??? ??? ??? ?<image class="icon" :src="item.url" mode="aspectFill"></image>
?? ??? ??? ??? ??? ??? ?<text>{{item.name}}</text>
?? ??? ??? ??? ??? ?</view>
?? ??? ??? ??? ?</view>通過自定義屬性data-id將字符串“1”傳遞過去。(這種方法小程序上經常使用)接受的時候如下:
methods: {
?? ??? ??? ?toAddress (e){
?? ??? ??? ??? ?console.log(e.currentTarget.dataset.id);
?? ??? ??? ?}
?? ??? ?},三,將事件本身傳遞過去。
<view class="order_status">
?? ??? ??? ??? ??? ?<view class="status" v-for="item in status" @click="toAddress($event)" data-id="1">
?? ??? ??? ??? ??? ??? ?<image class="icon" :src="item.url" mode="aspectFill"></image>
?? ??? ??? ??? ??? ??? ?<text>{{item.name}}</text>
?? ??? ??? ??? ??? ?</view>
?? ??? ??? ??? ?</view>methods: {
?? ??? ??? ?toAddress (e){
?? ??? ??? ??? ?console.log(e);
?? ??? ??? ?}
?? ??? ?},vue事件函數(shù)傳參
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div id="app">
<div>{{num}}</div>
<div>
<!-- 如果事件直接綁定函數(shù)名稱,那么默認會傳遞事件對象作為事件函數(shù)的第一個參數(shù) -->
<button v-on:click='handle1'>點擊1</button>
<!-- 2、如果事件綁定函數(shù)調用,那么事件對象必須作為最后一個參數(shù)顯示傳遞,
并且事件對象的名稱必須是$event
-->
<button v-on:click='handle2(123, 456, $event)'>點擊2</button>
</div>
</div>
<script type="text/javascript" src="js/vue.js"></script>
<script type="text/javascript">
var vm = new Vue({
el: '#app',
data: {
num: 0
},
methods: {
handle1: function(event) {
console.log(event.target.innerHTML)
},
handle2: function(p, p1, event) {
console.log(p, p1)
console.log(event.target.innerHTML)
this.num++;
}
}
});
</script>
</body>
</html>```
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
在vue中使用el-tab-pane v-show/v-if無效的解決
這篇文章主要介紹了在vue中使用el-tab-pane v-show/v-if無效的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08
vue+Element-ui實現(xiàn)分頁效果實例代碼詳解
這篇文章主要介紹了vue+Element-ui實現(xiàn)分頁效果 ,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2018-12-12
Element-UI 解決el-table中圖片懸浮被遮擋問題小結
在開發(fā)中,發(fā)現(xiàn)element-ui在el-table中添加圖片懸浮顯示時,會被單元格遮擋的問題,對于此問題解決其實也并不難,將懸浮圖片放在body節(jié)點下,通過定位顯示即可,感興趣的朋友跟隨小編一起看看吧2024-06-06

