MorJS 中如何正确绑定 input 的值?
我在用 MorJS 写一个表单页面,想把 input 的值和 data 里的变量双向绑定,但试了好几种写法都不生效。官方文档说用 value=”{{inputValue}}”,可我输入内容后 data 里的值根本没变,是不是还要加别的属性?
这是我的代码:
<template>
<view>
<input type="text" value="{{inputValue}}" />
<text>当前值:{{inputValue}}</text>
</view>
</template>
<script>
export default {
data: {
inputValue: '初始值'
}
}
</script>
bindinput事件手动同步,它不像 Vue 那样自动双向绑定。你只写了value="{{inputValue}}",那只是单向绑定——数据变 UI 变,但用户输入不会回写到 data 里。你得加上
bindinput监听输入事件,然后把值赋回去,比如这样:注意
onInputChange里要用this.inputValue = ...,别用this.setData(MorJS 不是小程序,没这玩意),直接改 data 里的字段就行。我之前也踩过这坑,以为它跟 WePY 或 Taro 一样自动同步,结果查了源码才发现它底层就是个很原始的 MVVM 框架,没做自动同步逻辑。