1. 前言
唉,好想玩滋嘣。
2. 计算属性直接传参接收不到
表格数据某一列需要用的计算属性时,模板中使用计算属性 fullName
就会直接调用 fullName
函数,而在模板中 fullName(item)
相当于fullName()(item)
,此处为函数柯里化。
<el-table-column label="名称" align="center" min-width="20%">
<template slot-scope="scope">
<p
v-for="(item, index) in scope.row.dataList "
:key="item.id"
>
{{ fullName(item) }}
</p>
</template>
</el-table-column>
// ...
computed: {
// fullName(param) 里接收到的是组件实例对象!
fullName() {
return item=> {
return item.firstName + item.lastName
}
}
}
3. 第三方组件的事件想要传参会立即执行且会被覆盖问题
封装好的组件的事件回调函数想要传其它参数,事件的回调直接写:before-upload="beforeUpload('a')"
,不仅会立即执行,还会覆盖默认参数;解决的方式类似:
<el-form-item label="文件:">
<el-upload
:action=""
:before-upload="beforeUpload('a')"
:file-list="fileList"
>
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
</el-form-item>
// ...
// 上传文件前
beforeUpload(myParams) {
return file => {
console.log(file, myParams);
};
},
:before-upload="beforeUpload('a')"
,引号内为事件的回调,应该是一个函数,而不是函数的执行,但这里我们执行beforeUpload
接收想要传递的参数,并直接返回一个函数,作为新的事件回调,沿着作用域链就可以拿到myParams
啦。
1.本站内容仅供参考,不作为任何法律依据。用户在使用本站内容时,应自行判断其真实性、准确性和完整性,并承担相应风险。
2.本站部分内容来源于互联网,仅用于交流学习研究知识,若侵犯了您的合法权益,请及时邮件或站内私信与本站联系,我们将尽快予以处理。
3.本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
4.根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
5.本站是非经营性个人站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途
暂无评论内容