当前位置: 首页 > news >正文

潍坊住房与城乡建设局网站网站正在维护中 模板

潍坊住房与城乡建设局网站,网站正在维护中 模板,手机网站建设liedns,深圳建设工程交易服务网网址**问题:**通过eventBus传递的参数,在子组件的methods中无法通过this.使用。 **思路:**考虑组件方法的执行顺序(vue生命周期执行顺序) **解决办法:**在传递参数的组件外 this.$nextTick this.$nextTick(() …

**问题:**通过eventBus传递的参数,在子组件的methods中无法通过this.使用。
**思路:**考虑组件方法的执行顺序(vue生命周期执行顺序)
**解决办法:**在传递参数的组件外 this.$nextTick

this.$nextTick(() => {Bus.$emit('updateOpt', opt, item)
})

eventBus的使用

  1. 创建eventBus.js文件
  2. 在需要传递消息的兄弟组件引入该js文件
  3. 传递消息 bus.$emit(“test”,param1,param2…)
  4. 接收消息 bus.$on(“test”,funciton({ //逻辑 }))

代码如下:

<!-- 父组件 -->
<template><div><a></a><b></b></div>
</template><script>
import a from "./ePassList/a.vue";
import b from "./ePassEdit/b.vue";
export default {components: {a,b,},
}
</script><style></style>
//eventBus.js文件
import Vue from 'vue'export default new Vue()
<!-- 子组件a 传递消息import Bus from "../eventBus.js"; Bus.$emit('updateOpt', opt, item) -->
<template><div><el-table :data="dataList" size="small" v-loading="loading" border :header-cell-style="{color: '#495060','background-color': '#f8f8f9',}" style="border: 1px solid #dddee1"><el-table-column type="index" label="序号" width="90" align="center"></el-table-column><el-table-column prop="activity_name" label="活动名称" align="center"></el-table-column><el-table-column prop="activity_type" label="活动类型" align="center"></el-table-column><el-table-column prop="activity_publisher" label="发布人" align="center"></el-table-column><el-table-column prop="insert_time" label="发布时间" align="center"></el-table-column><el-table-column prop="update_time" label="更新时间" align="center"></el-table-column><el-table-column prop="action" label="操作" align="center" fixed="right"><el-row slot-scope="scope"><Button type="primary" size="small" @click="operate('editOpt', scope.row)">编辑</Button><Button type="primary" size="small" @click="operate('detailOpt', scope.row)">详情</Button><Button type="primary" size="small" @click="onDelete(scope.row)">删除</Button></el-row></el-table-column></el-table></div>
</template><script>
import Bus from "../eventBus.js";
export default {methods: {//编辑,详情operate(opt, item) {console.log(opt, item);this.$emit('toEdit')this.$nextTick(() => {Bus.$emit('updateOpt', opt, item)})},}
};
</script><style></style>
<!-- 子组件b 接收消息import Bus from "../eventBus.js"; Bus.$on("updateOpt", () => {}); -->
<template></template><script>
import Bus from "../eventBus.js";
export default {data() {return {operate: "",rowData: "",}},created() {Bus.$on("updateOpt", (opt, item) => {console.log(opt, item, 11111);this.operate = opt;this.rowData = item;});},methods:{print(){console.log(this.operate,this.rowData)}}
};
</script><style></style>

涉及到的知识点:nextTick()

nextTick(),是将回调函数延迟在下一次DOM更新数据过后进行调用。
简单的理解就是:当数据更新之后,DOM进行渲染之后将会自动进行执行该函数。
详细解读链接:https://juejin.cn/post/6971017407733170184

http://www.yayakq.cn/news/751619/

相关文章:

  • 做网站用的动漫资料网站开发下载那个
  • 快点tv下载安装崇明网站怎么做seo
  • 上虞市建设风机厂网站网址大全2345电脑版下载
  • 学习网站开发流程现在能不能去西安
  • 嘉兴做微网站的公司网络科技公司取什么名字好
  • 陕煤建设集团韩城分公司网站长虹电视网站建设中
  • dw制作旅游网站教程怎么建一个网站
  • 网站登录页面空白spring框架做网站
  • 好看的网站颜色页面设计文献
  • 知名营销类网站南宁网上房地产
  • 网站优化18600119496怎么做网站推广方案
  • 网页网站设计与制作个人简历模板网站
  • 云南科技公司网站做网站字体用什么格式
  • 网站的主题定位网站搜不出来怎么办
  • 广西新农村建设工作专题网站北京到安阳火车时刻表
  • 学做网站需要买什么书河北教育网站建设
  • 西安网站建设itcandy广州市绿色建筑信息平台
  • 网软志成学校网站管理系统官方商业正式版室内装修设计说明
  • 教育门户网站建设方案wordpress需要什么安装环境
  • 建设网站服务费会计分录wordpress评论不显示
  • 网页设计设计网站建设宣传片拍摄哪个好
  • 安卓手机网站开发合同管理软件
  • 如何自己做网站手机软件中电科工程建设有限公司网站
  • 做跨境电商在什么网站选品手机创建个人网站 免费
  • 自适应的网站模板门户网站建设费用
  • 机械行业营销型网站深圳企业所得税怎么征收
  • 门户网站的特点及优势网站建设广告管理
  • 极简建站做的好的网站营销微信公众号
  • 购物网站建设方案pptwordpress怎么重新配置文件
  • 重庆微信网站网站如何伪静态