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

怎么编写网站代码网站制作方案介绍及要求

怎么编写网站代码,网站制作方案介绍及要求,wordpress 文章转dz,宁波网站建设优化的公司排名说明 我上一篇文章中基本对vue所有的数据通信方法进行了一个整理归纳。 其实我并没有像传统的那样去罗列,比如父传子有props,ref,子传父为emit,兄弟用$bus等等。 因为在我的实际练习和业务开发中,props,emit,ref等可以实现父子数据互传,这里就涉及一个比较重要的编程思维,函…

说明

我上一篇文章中基本对vue所有的数据通信方法进行了一个整理归纳。

其实我并没有像传统的那样去罗列,比如父传子有props,ref,子传父为emit,兄弟用$bus等等。

因为在我的实际练习和业务开发中,props,emit,ref等可以实现父子数据互传,这里就涉及一个比较重要的编程思维,函数式编程。

当我们使用props传递一个函数呢,那么子组件调用这个函数时,将参数传入这个函数的调用,那么在父组件中定义的函数不就可以直接获取到了子组件中数据了吗。

其余的两个也是同理,记住,传参有两种,一种是常规变量,一种是函数,传递什么决定了你的功能。

看代码:

props实现父子双向传参:

父组件

<template><div><p>父组件数字值1:{{ numValue1 }} <el-button @click="addNum">增加</el-button></p><p>获取子组件的值:{{ numValue2 }}</el-button></p><hr /><PropsChild :numValue1="numValue1" :numValue2="getChildValue"></PropsChild></div>
</template>
<script>
import PropsChild from './child.vue'
export default {name: 'propsTest',components: {PropsChild},data() {return {numValue1: 0,numValue2: '父组件默认的值'}},methods: {addNum() {this.numValue1++},getChildValue(childValue) {console.log(childValue, '???子组件的数值')this.numValue2 = childValue},getChildValueFun() {}}
}
</script>
<style lang="less"></style>

子组件

<template><div><p>子组件数值:{{ numValue1 }}</p><el-input v-model="value" @input="numValue2" class="inputBox"></el-input></div>
</template>
<script>
export default {name: 'propsChild',props: {numValue1: {type: Number,require: true,default: 0},numValue2:{type:Function,default:()=>{}}},data(){return{value:'子组件本身的值'}}}
</script>
<style lang="less">
.inputBox{width:300px;margin-top:16px;
}
</style>

$emit实现父子双向传参

父组件

<template><div>父组件<el-input v-model="value" @input="changeInput"></el-input><hr><EmitChild @getChildValue="getChildValue"></EmitChild></div>
</template>
<script>
import EmitChild from './child.vue'export default{name:'emitTest',data(){return{value:'父组件默认的值',childFun:()=>{}}},components:{EmitChild},mounted(){},methods:{getChildValue(childValue){if(typeof childValue === 'function'){this.childFun = childValue}else{this.value = childValue}},changeInput(value){this.childFun(value)}}}
</script>
<style lang="less"></style>

子组件

<template><div>子组件<el-input v-model="value" @input="changeValue"></el-input></div></template><script>export default{name:'emitChild',data(){return{value:'子组件默认的值'}},mounted(){this.$emit('getChildValue',this.emitFun)},methods:{changeValue(){this.$emit('getChildValue',this.value)},emitFun(value){this.value = value}}}</script><style lang="less"></style>

$ref实现父子双向传参

父组件

<template><div><p>父组件的值:{{ value }} <el-button @click="addNum">增加</el-button> </p><hr><Child ref="child"></Child></div>
</template>
<script>
import Child from './child.vue'export default{name:'refTest',components:{Child},data(){return{value:0}},mounted(){this.$refs.child.getFun(this.funHandler)},methods:{addNum(){this.value++this.$refs.child.getValue(this.value)},funHandler(value){this.value = value}}}
</script>

子组件

<template><div>子组件的值{{ value }}<el-button @click="add">增加</el-button></div>
</template>
<script>export default{name:'refTest',data(){return{value:0,funHandler:()=>{}}},methods:{getValue(val){this.value = val},getFun(funHandler){this.funHandler = funHandler},add(){this.value ++this.funHandler(this.value)}}}
</script>

结束语

虽然在开发中,大部分人都会按照既定思维,props和ref父传子,emit子传父,但是我们是开发者,需要有更多的思维在里面,你可以不用,但是你需要去思考,去尝试。

vue和react等框架本身就大量使用了函数式编程的思想,作为使用者的我们,也要同样的将这种思想运用进去,才会有更多优质的代码,才回提升自己。

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

相关文章:

  • 建站价格会差网站建设与维护 排序题
  • 家具网站建设wordpress 微信分享插件
  • 网站建设的基本流程可分为全企网建站怎么样
  • 文档里网站超链接怎么做贵州网站制作公司
  • 自建网站的好处外贸网站建站用什么
  • 雄安个人代做网站排名做网站要钱吗?
  • 免费个人网站怎么做重庆百度推广电话
  • 特产网站开发的目的如何设计一个网页并举例说明
  • 建站宝盒视频seo网站是什么
  • 德阳市建设管理一体化平台网站阿里云 oss做网站
  • 做网站多少怎么在自己做的网站上发视频教程
  • 做响应式网站应该注意什么问题西安的网页设计公司
  • 网站建设公司宝安wordpress拖拽主题
  • 用代码做一号店网站怎么做政务网站建设步骤
  • 网站建设加班软件开发软件下载
  • 天津网站建设技术外包企业网站报价
  • 房产网站建设的功能哪个网站做超链接
  • 程序员外包网站wordpress发布公告
  • 福州商城网站开发公司免费网页设计系统模板
  • 公司网站域名查询软件定制图片
  • 重庆大渡口网站建设个人建站流程详解
  • 作文大全网站页面设计在哪儿
  • 做网站怎么上线知识竞赛网站建设方案策划书
  • 重庆电脑网站建设电商网站开发实战视频教程
  • 网站建设和管理心得金华网站制作案例
  • 网站关键词词库怎么做招才猫网站多少钱做的
  • 某企业网站建设论文wordpress4.9 php版本
  • 网站制作项目分析怎么做 方法网站 数据库 模板
  • 南阳响应式网站制作网站开发项目延期说明
  • 推广网站有什么方法php技术应用于中小企业网站开发