MorJS 中如何正确绑定 input 的值?

程序猿宁宁 阅读 23

我在用 MorJS 写一个表单页面,想把 input 的值和 data 里的变量双向绑定,但试了好几种写法都不生效。官方文档说用 value=”{{inputValue}}”,可我输入内容后 data 里的值根本没变,是不是还要加别的属性?

这是我的代码:

<template>
  <view>
    <input type="text" value="{{inputValue}}" />
    <text>当前值:{{inputValue}}</text>
  </view>
</template>

<script>
export default {
  data: {
    inputValue: '初始值'
  }
}
</script>
我来解答 赞 1 收藏
二维码
手机扫码查看
1 条解答
程序员文君
MorJS 里 input 的双向绑定得靠 bindinput 事件手动同步,它不像 Vue 那样自动双向绑定。你只写了 value="{{inputValue}}",那只是单向绑定——数据变 UI 变,但用户输入不会回写到 data 里。

你得加上 bindinput 监听输入事件,然后把值赋回去,比如这样:





注意 onInputChange 里要用 this.inputValue = ...,别用 this.setData(MorJS 不是小程序,没这玩意),直接改 data 里的字段就行。我之前也踩过这坑,以为它跟 WePY 或 Taro 一样自动同步,结果查了源码才发现它底层就是个很原始的 MVVM 框架,没做自动同步逻辑。
点赞 4
2026-02-25 01:01