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

网站推广团队网站投放广告费用

网站推广团队,网站投放广告费用,免费素材库图片,山西网站开发培训文章目录 组件间通信的概念组件间通信的分类组件间通信的方案父组件将方法传递给子组件#xff08;props#xff09;子组件向父组件传值(emit)通过 ref 属性获取DOM元素EventBus p a r e n t 或 parent 或 parent或 root a t t r s 与 attrs 与 attrs与 listeners provide 与… 文章目录 组件间通信的概念组件间通信的分类组件间通信的方案父组件将方法传递给子组件props子组件向父组件传值(emit)通过 ref 属性获取DOM元素EventBus p a r e n t 或 parent 或 parent或 root a t t r s 与 attrs 与 attrs与 listeners provide 与 injectvuex实现组件通信 组件间通信的概念 开始之前我们把组件间通信这个词进行拆分 组件通信 都知道组件是vue最强大的功能之一vue中每一个.vue我们都可以视之为一个组件通信指的是发送者通过某种媒体以某种格式来传递信息到收信者以达到某个目的。广义上任何信息的交通都是通信组件间通信即指组件(.vue)通过某种方式来传递信息以达到某个目的举个栗子我们在使用UI框架中的table组件可能会往table组件中传入某些数据这个本质就形成了组件之间的通信 组件间通信的分类 父子组件之间的通信兄弟组件之间的通信祖孙与后代组件之间的通信非关系组件间之间的通信 组件间通信的方案 vue中8种常规的通信方案 通过 props 传递通过 $emit 触发自定义事件使用 refEventBus p a r e n t 或 parent 或 parent或rootattrs 与 listenersProvide 与 InjectVuex 父组件将方法传递给子组件props !DOCTYPE html html langenheadmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0meta http-equivX-UA-Compatible contentieedgetitleDocument/titlescript srcvue2.5.16.js/script /headbodydiv idapp!-- 父组件向子组件 传递 方法是通过 事件绑定机制 v-on。当我们自定义了 一个 事件属性 parent-show这个地方不能用驼峰命名之后--!-- 那么子组件就能够通过 emit 来调用 传递进去的 这个 方法了 --!-- 【第一步】。意思是说show是父组件的方法名parent-show是自定义的时间属性稍后要在子组件中用到 --component1 parent-showshow/component1/div!-- 定义子组件的模板 --template idmyTemplate!-- 【第二步】按照正常的写法来点击按钮调用子组件的方法 --div clickchildClick我是子组件点击调用父组件的方法/div/templatescript// 创建 Vue 实例得到 ViewModelvar vm new Vue({el: #app,data: { //父组件的data// msg: 父组件中的数据},methods: {show: function () { // 定义父组件的show方法console.log(父组件提供的方法);}},components: {component1: { //将子组件的名称定义为 component1template: #myTemplate,data() { // 子组件的datareturn {// content: 子组件私有的数据 content}},props: [],directives: {},filters: {},components: {},methods: {childClick() {// 当点击子组件的按钮时如何 拿到 父组件传递过来的 func 方法并调用这个方法// emit 英文原意 是触发调用、发射。意思是触发父组件的方法// 【第三步】 在子组件的方法中通过 emit 触发父组件的方法this.$emit(parent-show);}}}}});/script /body/html效果如下点击子组件触发了父组件的方法 子组件向父组件传值(emit) 如果要实现子组件向父组件传值代码是类似的我们只需要在子组件通过emit触发父组件的方法时把子组件的参数带出去就可以了 适用场景子组件传递数据给父组件子组件通过$emit触发自定义事件$emit第二个参数为传递的数值父组件绑定监听器获取到子组件传递过来的参数 !DOCTYPE html html langenheadmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0meta http-equivX-UA-Compatible contentieedgetitleDocument/titlescript srcvue2.5.16.js/script /headbodydiv idappcomponent1 parent-showshow/component1/div!-- 定义子组件的模板 --template idmyTemplateh2 clickchildClick我是子组件点击调用父组件的方法/h2/templatescript// 创建 Vue 实例得到 ViewModelvar vm new Vue({el: #app,data: { //父组件的data// msg: 父组件中的数据},methods: { // 定义父组件的方法show: function (arg1, arg2) { //【第二步】父组件里放两个参数这个两个参数就代表着子组件中的child 123、child 789console.log(父组件提供的方法);console.log(打印子组件传递过来的参数。参数一 arg1 参数二 arg2);}},components: {component1: { //将子组件的名称定义为 component1template: #myTemplate,data() { // 子组件的datareturn {// content: 子组件私有的数据 content}},props: [],directives: {},filters: {},components: {},methods: {childClick() {// 子组件如果要给父组件传递参数在触发 emit 的时候通过参数的形式带出去就可以了// 【第一步】在子组件里我们带两个参数出去传给父组件this.$emit(parent-show, child 123, child 789);}}}}});/script /body/html运行结果点击h2之后 Chilfen.vue this.$emit(add, good) Father.vue Children addcartAdd($event) / 通过 ref 属性获取DOM元素 父组件在使用子组件的时候设置ref父组件通过设置子组件ref来获取数据 父组件 Children reffoo / this.$refs.foo // 获取子组件实例通过子组件实例我们就能拿到对应的数据 EventBus 使用场景兄弟组件传值创建一个中央事件总线EventBus兄弟组件通过$emit触发自定义事件$emit第二个参数为传递的数值另一个兄弟组件通过$on监听自定义事件 Bus.js // 创建一个中央时间总线类 class Bus { constructor() { this.callbacks {}; // 存放事件的名字 } $on(name, fn) { this.callbacks[name] this.callbacks[name] || []; this.callbacks[name].push(fn); } $emit(name, args) { if (this.callbacks[name]) { this.callbacks[name].forEach((cb) cb(args)); } } } // main.js Vue.prototype.$bus new Bus() // 将$bus挂载到vue实例的原型上 // 另一种方式 Vue.prototype.$bus new Vue() // Vue已经实现了Bus的功能 Children1.vue this.$bus.$emit(foo) Children2.vue this.$bus.$on(foo, this.handle) p a r e n t 或 parent 或 parent或 root 通过共同祖辈$parent或者$root搭建通信桥连 兄弟组件 this.$parent.on(add,this.add) 另一个兄弟组件 this.$parent.emit(add) a t t r s 与 attrs 与 attrs与 listeners 适用场景祖先传递数据给子孙设置批量向下传属性$attrs和 $listeners包含了父级作用域中不作为 prop 被识别 (且获取) 的特性绑定 ( class 和 style 除外)。可以通过 v-bind$attrs 传⼊内部组件 // child并未在props中声明foo p{{$attrs.foo}}/p // parent HelloWorld foofoo/ // 给Grandson隔代传值communication/index.vue Child2 msglalala some-eventonSomeEvent/Child2 // Child2做展开 Grandson v-bind$attrs v-on$listeners/Grandson // Grandson使⽤ div click$emit(some-event, msg from grandson) {{msg}} /div provide 与 inject 在祖先组件定义provide属性返回传递的值 在后代组件通过inject接收组件传递过来的值 祖先组件 provide(){ return { foo:foo } } 后代组件 inject:[foo] // 获取到祖先组件传递过来的值 vuex实现组件通信 适用场景: 复杂关系的组件数据传递 Vuex作用相当于一个用来存储共享变量的容器 state用来存放共享变量的地方 getter可以增加一个getter派生状态(相当于store中的计算属性用来获得共享变量的值 mutations用来存放修改state的方法。 actions也是用来存放修改state的方法不过action是在mutations的基础上进行。常用来做一些异步操作
http://www.pierceye.com/news/434699/

相关文章:

  • 电子商务网站建设与管理理解上海网站推广企业
  • 设计师网站pintsetseo短视频网页入口引流免费
  • 个人如何注册微信公众号怎么创建网站优化的意义
  • 网站换空间要重新备案吗百度人工电话
  • 做网站要注意哪些问题网站用什么工具做
  • 在福州的网站制作公司滨海新网站建设
  • 帝国网站地图插件泰兴企业网站建设
  • wordpress布置网站教程用dw做简单图片网站
  • 网页制作模板左右结构百度seo关键词优化方案
  • 长沙设备建站按效果付费wordpress可视化编辑器插件
  • 软件开发与网站开发硬件开发语言
  • 开封做网站睿艺美官方网站建设的必要
  • 自适应网站制作简创网络南联网站建设
  • 帮别人做钓鱼网站犯法吗贵州网站建设工作室
  • 企业网站域名空间优化公司治理结构
  • 网站建设 前沿文章php做网站脑图
  • 刷单网站开发装修企业网站源码
  • 莱州人社局网站网站开发项目资金运用明细
  • 水墨网站模板软通动力外包怎么样
  • 直播间网站建设小清新wordpress主题
  • 淘金网站建设推广汽车 营销 网站建设
  • 网站站内链接seo外链发布工具
  • 如何设计大型电商网站建设利用php做网站
  • 大朗网站仿做google广告
  • 跳转网站代码wordpress文章只能会员才能看
  • 大鹏网络网站建设报价vps的网站打不开
  • 西部数码网站管理助手卸载修改网站空间服务器密码
  • asp网站开发技术总结与收获建设银行网站怎么登录密码忘了怎么办
  • 营销型企业网站 网络服务flashfxp 网站
  • 青岛网站建设服务平台邢台专业网站建设费用