什么网站做新产品代理,seo优化方向,wordpress 菜单路径,简约大气的ppt模板文章目录 一、使用Vue脚手架1.ref和props属性2.mixin混入3.组件化编码流程4.webStorage5.组件自定义事件6.全局事件总线7.消息订阅与发布 二、使用步骤1.引入库 一、使用Vue脚手架
1.ref和props属性
ref属性#xff1a; #xff08;1#xff09;被用来给元素或子组件注册应… 文章目录 一、使用Vue脚手架1.ref和props属性2.mixin混入3.组件化编码流程4.webStorage5.组件自定义事件6.全局事件总线7.消息订阅与发布 二、使用步骤1.引入库 一、使用Vue脚手架
1.ref和props属性
ref属性 1被用来给元素或子组件注册应用信息id的替代者 2应用在html标签上获取的是真实DOM元素或应用在组件标签上是组件实例对象VC 3使用方法打标识
h1 refxyz/h1或School refxyz/School提取标识
this.$refs.xyzprops属性 功能让组件接收外部传过来的数据 如父组件给子组件传递数据还可以让子组件给父组件传递数据先在父组件中定义方法子组件回调即可 使用 1传递数据 2接收数据第一种方式只接收props:[‘name’] 第二种方式限制类型
props:{name:String}第三种方式限制类型、限制必要性、指定默认值
props:{name:{type:String,//类型required:true,//必要性default肖战//默认值 }} 备注props是只读的Vue底层会检测你对props的修改如果进行了修改就会发出警告若业务需求确实需要修改那么请复制props的内容到data中一份然后去修改data中的数据
2.mixin混入
功能可以把多个组件共用的配置提取成一个混入对象 使用方式 第一步定义混合
{data(){....},methods:{.....}
}第二步使用混入 1全局混入Vue.mixin(xxx) 2局部混入mixins:[‘xxx’] 延申 scoped样式 作用让样式局部生效防止冲突 写法
style scoped...../style3.组件化编码流程
组件化编码流程通用 1.实现静态组件拆分组件按功能点拆分命名不要与html元素冲突使用组件实现静态页面效果 2.展示动态数据数据的类型及名称数据保存在哪个文件如一个组件使用放在组件自身 3.交互从绑定事件监听开始
4.webStorage
1存储内容大小一般支持5MB左右 2浏览器端通过Window.sessionStorage和Window.localStorage属性来实现本地存储机制 3相关API
// 该方法接受一个键和值作为参数会把键值对添加到存储中如果键名存在则更新其对应的值
1.xxxStorage.setItem(key,value)
// 给方法接受一个键名作为参数返回键名对应的值
2.xxxStorage.getItem(key)
// 给方法接受一个键名作为参数并把该键名从存储中删除
3.xxxStorage.removeItem(key)
// 清空存储中的所有数据
4.xxxStorage.clear()备注 1】sessionStorage存储的内容会随着浏览器窗口关闭而消失 2】localStorage存储的内容需要手动清除才会消失 3】xxxStorage.getItem(‘key’)如果key对应的value获取不到那么getItem的返回值为null 4]JSON.parse(null)的结果依然是null
5.组件自定义事件
1一种组件间通信方式适用于子组件父组件 2使用场景A是父组件B是子组件B给A传数据那么在A中给B绑定自定义事件事件的回调在A中 3绑定自定义事件 第一种方式在父组件中
Demo addTodotest/或Demo v-on:addTodotest/第二种方式在父组件中
Demo refdemo/
....
mounted(){this.$refs.demo.$on(addTodo,this.test)
}若想让自定义事件只能触发一次可以使用once修饰符或$once方法 4触发自定义事件
this.$emit(addTodo,数据)5解绑自定义事件
this.$off(addTodo)6组件上也可以绑定原生DOM事件需要使用native修饰符 7注意通过以下方式绑定自定义事件时回调要么配置在methods中要么用箭头函数否则this指向会出问题
this.$refs.demo.$on(addTodo,回调或箭头函数)6.全局事件总线
全局事件总线GlobalEventBus 1一种组件间通信的方式使用于任意组件间通信 2安装全局事件总线
new Vue({render: h h(App),beforeCreate(){Vue.prototype.$bus this //安装全局事件总线$bus就是当前应用的vm}
}).$mount(#app)3使用事件总线 1】接收数据A组件想接收数据则在A组件中给$bus绑定自定义事件事件的回调在A组件自身
this.$bus.$on(deleteTodo,this.deleteTodo)2】提供数据
this.$bus.$emit(deleteTodo,数据)4最好在beforeDestroy钩子中用$off去解绑当前组件所用到的事件
7.消息订阅与发布
消息订阅与发布pubsub 1一种组件间通信的方式适用于任意组件间通信 2使用步骤 1】安装pubsubnpm i pubsub-js 2】引入
import pubsub from pubsub-js3】接收数据A组件想接收数据则在A组件中订阅消息订阅的回调在A组件自身
this.pubId pubsub.subscribe(deleteTodo,this.deleteTodo) //订阅消息4】提供信息
pubsub.publish(deleteTodo,数据)5】最好在beforeDestroy钩子中用pubsub.unsubscribe(this.pubId)取消订阅 延申 nextTick 1语法
this.$nextTick(回调函数)2作用在下一次DOM更新结束后执行其指定的回调函数 3什么时候用当改变数据后要基于更新后的新DOM进行某些操作时要在nextTick所指定的回调函数中执行
二、使用步骤
1.引入库