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

网站建设钅金手指排名软件开发培训学校软件开发培训机构

网站建设钅金手指排名,软件开发培训学校软件开发培训机构,wordpress文章标题,国内响应式网站案例uniapp 微信小程序:v-model双向绑定问题(自定义 props 名无效) 前言问题双向绑定示例使用 v-model使用 v-bind v-on使用 sync 修饰符 参考资料 前言 VUE中父子组件传递数据的基本套路: 父传子 props子传父 this.$emit(事件名, …

uniapp 微信小程序:v-model双向绑定问题(自定义 props 名无效)

  • 前言
  • 问题
  • 双向绑定示例
    • 使用 v-model
    • 使用 v-bind + v-on
    • 使用 sync 修饰符
  • 参考资料

前言

VUE中父子组件传递数据的基本套路:

  1. 父传子 props
  2. 子传父 this.$emit('事件名', '数据');
  3. 使用 sync 修饰符,实现支持同步数据

问题

在这里插入图片描述 在这里插入图片描述
因为用的是 uniapp 开发小程序,所以要考虑到兼容性问题,不要把自己当正经VUE2。
小程序虽然支持 v-model 指令,但不支持 model 选项。
所以要么子组件中声明默认的 value 这个 props 来接收值。
要么手动:绑定属性事件

双向绑定示例

使用 v-model

由于小程序不支持 model 选项。
这个方案中:子组件里只能使用 value 接收数据,更新时触发 input

  • 父组件
<template><view><view><text>父组件:{{ msg }}</text></view><vmodel-component v-model="msg"></vmodel-component></view>
</template><script>export default {data() {return { msg: '大家好,我是:使用 v-model' }},methods: {}}
</script><style>
</style>
  • 子组件
<template><view> <view> 子组件:{{value}}  </view><button @click="onclick" >更新</button></view>
</template><script>export default {data() {return {};},props:{value:{ type: String, default: "未收到父值" }},methods:{onclick(e){this.$emit('input', '我是笨笨'); // v-mode }}}
</script><style>
</style>

使用 v-bind + v-on

当然一般都会用简写形式:
v-bind:缩写为 :
v-on:缩写为 @

由于是自己手绑定,props事件名都可以自己定。
比如在子组件中我就用 msg 接收数据。
事件我自己取名叫 customEvent

<template><view><view><text>父组件:{{ msg }}</text></view><novmodel-component :msg="msg" @customEvent="e => msg = e"></novmodel-component><!-- <novmodel-component :msg="msg" @input=" msg = $event "></novmodel-component> --></view>
</template><script>export default {data() {return { msg: '大家好,我是:不使用 v-model' }},methods: {}}
</script><style>
</style>
  • 子组件
<template><view> <view> 子组件:{{msg}}  </view><button @click="this.$emit('customEvent', '我是笨笨')" >更新</button></view>
</template><script>export default {data() {return {};},props:{msg:{ type: String, default: "未收到父值" }},methods:{}}
</script><style>
</style>

使用 sync 修饰符

使用 sync 时可以自己决定绑到子组件的哪个 props 上,比如就绑到了 msg 上。
同步数据时触发 update:要更新的props

  • 父组件
<template><view><view><text>父组件:{{ msg }}</text></view><sync-component :msg.sync="msg"></sync-component></view>
</template><script>export default {data() {return { msg: '大家好,我是:使用 sync 修饰符,实现同步数据' }},methods: {}}
</script><style>
</style>
  • 子组件
<template><view> <view> 子组件:{{msg}}  </view><button @click="$emit('update:msg', '我是笨笨')" >更新</button></view>
</template><script>export default {data() {return {};},props: {msg: { type: String, default: "未收到父值" }},methods:{}}
</script><style>
</style>

参考资料

uniapp官方文档 :模板指令 v-model
uniapp官方文档 :.sync 修饰符

vue2官方文档:选项 model

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

相关文章:

  • 怎么知道网站程序是什么做的东莞市企慕网络科技有限公司
  • 网站维护客户建设网站要花多少钱
  • 自己想做个网站 费用北京团建网站
  • 网站建设租房网模块wordpress项目id
  • 做网站做图电脑需要什么配置dz网站模版
  • 中航长江建设工程有限公司网站勒索做钓鱼网站的人
  • 泸州市住房与城乡建设局网站做二手元器件那个网站查价格
  • 网站建设是属于什么岗位网站建设资费
  • 建设信用卡网站换积分网页设计制作实训总结
  • wordpress新站不收录设计师网络接单
  • 台式机做网站服务器土地推介网
  • 计算机机应用网站建设与维护17网站一起做网店广州国大
  • 建站还有前途么服务器网站后台登陆密码黄框显示
  • 58同城网站的建设目标是什么施工许可证查询官网
  • 怎么用wordpress建立本地网站网站建设与管理广东药学院
  • 软件开发商网站营销型网站制作步骤五个
  • 合肥建设集团招聘信息网站网站制作自己做
  • 如何引用网站图片天津建设厅官方网站
  • 成都网站建设推广在桂林遇龙河
  • 网站的栏目设置教育网站建设平台
  • 苏州建设厅网站首页网页设计专业学校
  • 网站推广计划网站建设设计工具
  • 第二章 营销型网站建设测验seo怎么去优化
  • 网站建设相关法律法规云南专业网站建设
  • 可以做四级听力的网站厦门公司做网站
  • 毕业设计网站开发选题依据网站建设需要域名
  • 如何做美发店网站注册域名费用一般多少钱
  • 怎样去同行网站做外连接管城网站建设
  • 深圳网站建设哪家比较好网站设计有创意的主题
  • 做网站公司融资多少营销网站的成功案例