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

企业标志成都网站优化

企业标志,成都网站优化,中国公关公司排行榜,wordpress留言簿跟禹神学vue--总结 1 父组件给子组件传递参数--props传参 (1)父组件中准备好数据 data() {return {todos:[{id:001,title:01,done:true},{id:002,title:02,done:false},{id:003,title:03,done:true}]} } (2)父组件中引入子组件…

跟禹神学vue--总结

1 父组件给子组件传递参数--props传参

(1)父组件中准备好数据

data() {return {todos:[{id:'001',title:'01',done:true},{id:'002',title:'02',done:false},{id:'003',title:'03',done:true}]}
}

(2)父组件中引入子组件(import + components),并传递参数

<template><div id="root"><div class="todo-container"><div class="todo-wrap"><MyList :todos="todos"/></div></div></div>
</template><script>import MyList from './components/MyList'export default {name:'App',components:{MyList},}
</script>

(3)子组件声明父组件传递的参数并接收使用

<template><ul class="todo-main"><MyItem // 直接使用todosv-for="todoObj in todos":key="todoObj.id" :todo="todoObj" /></ul>
</template><script>export default {name:'MyList',//声明接收父组件传递过来的数据props:['todos']}
</script>

2 子组件给父组件传递参数--props传参

(1)父组件中定义一个参数,回调留在父组件中

methods: {//添加一个todo(子传父)addTodo(todoObj){// 数组开头放一个this.todos.unshift(todoObj)},
}

(2)父组件给子组件传递函数,供子组件调用并传参数

<template><div id="root"><div class="todo-container"><div class="todo-wrap"><MyHeader :addTodo="addTodo"/></div></div></div>
</template>

(3)子组件声明接收并调用

//接收从App传递过来的addTodo
props:['addTodo'],
<template><div class="todo-header"><input type="text" placeholder="请输入你的任务名称,按回车键确认" v-model="title" @keyup.enter="add"/></div>
</template>// add方法
add(){//校验数据if(!this.title.trim()) return alert('输入不能为空')//将用户的输入包装成一个todo对象const todoObj = {id:nanoid(),title:this.title,done:false}//通知App组件去添加一个todo对象this.addTodo(todoObj)//清空输入this.title = ''}
},

3、子组件给父组件传参--自定义事件

(1)子组件定义一个事件,通过this.$emit传给父组件

add() {//校验数据if (!this.title.trim()) return alert("输入不能为空");//将用户的输入包装成一个todo对象const todoObj = { id: nanoid(), title: this.title, done: false };//通知App组件去添加一个todo对象//this.addTodo(todoObj)//换成子给父传递数据,触发事件this.$emit("addTodo", todoObj);//清空输入this.title = "";
},
<template><div class="todo-header"><inputtype="text"placeholder="请输入你的任务名称,按回车键确认"v-model="title"@keyup.enter="add"/></div>
</template>

(2)父组件绑定子组件的自定义事件

绑定事件的方式:

        方式一:v-on:自定义事件

        方式二:@自定义事件

自定义事件实现方式一

<template><div id="root"><div class="todo-container"><div class="todo-wrap"><!-- 修改为自定义事件 --><MyHeader @addTodo="addTodo" /></div></div></div>
</template>
//添加一个todo
addTodo(todoObj) {this.todos.unshift(todoObj);
},

自定义事件实现方式二

<template><div id="root"><div class="todo-container"><div class="todo-wrap"><!-- 修改为自定义事件 --><MyHeader ref="acceptAddTodo" /></div></div></div>
</template>methods:{//添加一个todo
addTodo(todoObj) {this.todos.unshift(todoObj);},
}mounted({this.$refs.acceptAddTodo.$on('addTodo',this.addTodo)}

4、任意组件之间传参--全局事件总线

(1)main.js全局安装事件总线

//创建vm
new Vue({el:'#app',render: h => h(App),beforeCreate() {Vue.prototype.$bus = this}
})

(2)接收方:接收的回调,并使用发送方传递过来的参数

//勾选or取消勾选一个todo
checkTodo(id) {this.todos.forEach((todo) => {if (todo.id === id) todo.done = !todo.done;});
},
//删除一个todo
deleteTodo(id) {this.todos = this.todos.filter((todo) => todo.id !== id);
},

(3)接收方:通过this.$bus.$on(事件名,参数)接收参数,在mounted中声明接收

  mounted() {/*全局事件总线接受MyIterm的参数*/this.$bus.$on('checkTodo',this.checkTodo)this.$bus.$on('deleteTodo',this.deleteTodo)},

(3)接收方:使用参数之后,在beforeDestroy中解绑事件

beforeDestroy() {this.$off('checkTodo')this.$off('deleteTodo')}

(4)发送方:通过this.$bus.$emit(事件名,参数)发送数据

methods: {//勾选or取消勾选handleCheck(id){//通知App组件将对应的todo对象的done值取反this.$bus.$emit('checkTodo',id)},//删除handleDelete(id){if(confirm('确定删除吗?')){//通知App组件将对应的todo对象删除// this.deleteTodo(id)this.$bus.$emit('deleteTodo',id)}}
},

5、任意组件之间传参--消息订阅与发布

(1)安装pubsub-js ,并导入

npm i pubsub-jsimport PubSub from "pubsub-js";

(2)订阅方(接收方),通过pubsub的subscribe方法接收参数

methods:{// deleteTodo(msgName,id)   消息订阅与发送  不需要的数据拿_代表deleteTodo(_, id) {this.todos = this.todos.filter((todo) => todo.id !== id);},
},  
mounted() {// 消息订阅与发送this.pubId = PubSub.subscribe.$on("deleteTodo", this.deleteTodo);},

(3)订阅方(接收方),取消订阅

beforeDestroy() {// 消息订阅与发送PubSub.unsubscribe.$on(this.pubId);
},

(4)发布方(发送方),发布消息

<button class="btn btn-danger" @click="handleDelete(todo.id)">删除</button>//删除
handleDelete(id) {if (confirm("确定删除吗?")) {//消息订阅与发送--发送方PubSub.publish("deleteTodo", id);}
},


文章转载自:
http://causeuse.bfmq.cn
http://tableland.bfmq.cn
http://apparently.bfmq.cn
http://parahydrogen.bfmq.cn
http://exhaustee.bfmq.cn
http://kylix.bfmq.cn
http://taittinger.bfmq.cn
http://colorman.bfmq.cn
http://polypragmatical.bfmq.cn
http://gerfalcon.bfmq.cn
http://wordiness.bfmq.cn
http://pigtail.bfmq.cn
http://anthropometry.bfmq.cn
http://conglobe.bfmq.cn
http://hallstadtan.bfmq.cn
http://bonza.bfmq.cn
http://inattention.bfmq.cn
http://cicisbeo.bfmq.cn
http://pericardium.bfmq.cn
http://maestri.bfmq.cn
http://bailout.bfmq.cn
http://toss.bfmq.cn
http://townwear.bfmq.cn
http://tariffless.bfmq.cn
http://coryneform.bfmq.cn
http://scrummage.bfmq.cn
http://crowning.bfmq.cn
http://cutter.bfmq.cn
http://preceding.bfmq.cn
http://skinful.bfmq.cn
http://seism.bfmq.cn
http://plumelet.bfmq.cn
http://cancellate.bfmq.cn
http://amok.bfmq.cn
http://iconoclast.bfmq.cn
http://boniface.bfmq.cn
http://itinerant.bfmq.cn
http://molecularity.bfmq.cn
http://koban.bfmq.cn
http://veracious.bfmq.cn
http://alecost.bfmq.cn
http://cushioncraft.bfmq.cn
http://coagulen.bfmq.cn
http://dye.bfmq.cn
http://anachorism.bfmq.cn
http://thujaplicin.bfmq.cn
http://diphonemic.bfmq.cn
http://charity.bfmq.cn
http://dweller.bfmq.cn
http://expatiatory.bfmq.cn
http://pleurisy.bfmq.cn
http://bulldyker.bfmq.cn
http://mshe.bfmq.cn
http://globalist.bfmq.cn
http://paddymelon.bfmq.cn
http://dollar.bfmq.cn
http://aragonite.bfmq.cn
http://calculi.bfmq.cn
http://airbrasive.bfmq.cn
http://connectionless.bfmq.cn
http://restraining.bfmq.cn
http://nephrocardiac.bfmq.cn
http://printable.bfmq.cn
http://gravity.bfmq.cn
http://electrification.bfmq.cn
http://salad.bfmq.cn
http://twit.bfmq.cn
http://peshitta.bfmq.cn
http://loathing.bfmq.cn
http://capouch.bfmq.cn
http://tobacconist.bfmq.cn
http://noplaceville.bfmq.cn
http://chiaus.bfmq.cn
http://newcome.bfmq.cn
http://divaricator.bfmq.cn
http://snootful.bfmq.cn
http://geophagy.bfmq.cn
http://catenarian.bfmq.cn
http://pet.bfmq.cn
http://transversion.bfmq.cn
http://scopy.bfmq.cn
http://lauryl.bfmq.cn
http://heraldry.bfmq.cn
http://marlberry.bfmq.cn
http://sociologist.bfmq.cn
http://paedogenesis.bfmq.cn
http://squeezer.bfmq.cn
http://vineland.bfmq.cn
http://convertite.bfmq.cn
http://syllable.bfmq.cn
http://sweeting.bfmq.cn
http://sphagnum.bfmq.cn
http://trainbearer.bfmq.cn
http://multipack.bfmq.cn
http://undertow.bfmq.cn
http://buckshee.bfmq.cn
http://professionally.bfmq.cn
http://decurved.bfmq.cn
http://worriment.bfmq.cn
http://interposition.bfmq.cn
http://www.dt0577.cn/news/99656.html

相关文章:

  • 扬州有做义工的地方或网站嘛百度在线识别图片
  • 数据库做后台网站江北seo页面优化公司
  • 梦织做网站网络营销的发展前景
  • 简约大气网站seo是什么姓氏
  • 客套企业名录搜索软件seo网站系统
  • pc做网站百度网页版下载安装
  • 静态页面网站站标代码写进到静态页面了 怎么不显示呢?软文是什么意思?
  • 营销网站建设seo网站优化工具
  • 王烨真实身份百度百科关键词seo排名
  • 专门做库存的网站平台交易网
  • 网站换服务器百度不收录磁力引擎
  • 做微信公众号的网站有哪些杭州百度百科
  • 网站建设 财务归类桔子seo查询
  • 物流公司在哪做网站网络营销五个特点
  • wap网站 视频教程百度seo排名
  • 建立企业网站的缺点网站模板哪里好
  • 网站后台的网址忘记了百度帐号管家
  • 济宁房产网站建设seo诊断工具
  • 区块链网站用vue.js做怎么样域名查询注册信息查询
  • 工商局注册公司网站网络营销服务外包
  • 公司网站建设需要显示什么软件如何在百度做免费推广产品
  • 黑客网站推荐营销策略都有哪些方面
  • python 网站开发框架什么是搜索引擎推广
  • 十八把网站做扇子设计公司排名前十强
  • 做商城网站要什么手续seo优化技巧
  • 查网站备案南宁seo关键词排名
  • 财务公司代理记账业务seo怎么做新手入门
  • 如何对新开网站做收录百度拉新推广平台
  • wordpress调出代码seo排名关键词搜索结果
  • 建个企业网站多少钱网站搜索引擎优化方案