Vue.js在计算属性中设置值
Vue.js Set value in computed properties
我有3个这样的输入:
<input type="text" v-model="settings['apple']" />
<input type="text" v-model="settings['banana']" />
<input type="text" v-model="settings['orange']" />
当用户为输入输入值时,我想获得用户输入的值来处理值并更新新值。我正在使用计算属性来处理值:
data() {
return {
settings: {}
}
},
computed: {
settings: {
set: function (newValue) {
var parts = newValue.match(/['s'S]{1,2}/g) || [];
// Set new value ...
}
}
},
问题是我如何知道哪个输入用户输入并设置新值?
在data
和computed
中定义的属性应该是互斥的——在两个地方定义相同的属性会带来麻烦。此外,数据下的对象应该具有默认值。
因此,相反,让您的计算返回一个不同的对象,它是所有转换后的值。不要使用v-model
绑定输入的设置。然后,您可以单独绑定到计算对象,并根据需要将其显示给用户。
data() {
return {
settings: {
"apple": "",
"banana": "",
"orange": ""
}
}
},
computed: {
transformed_settings: function () {
/* create and return an object with transformed apple, banana, orange */
}
},
最简单的方法是将apple、banana和Orange声明为数据元素或变量。根据方法下的用户输入定义函数(未计算),然后在输入框
相关文章:
- Javascript使用变量设置属性
- 如何在自动完成时设置属性标题
- 未捕获的类型错误:无法设置属性'innerHTML'如果为null,则将脚本移动到正文不会;不起作用
- 未捕获的类型错误:无法设置属性'背景'的未定义
- 无法设置属性'innerHTML'在javascript中为null
- Haxe Javascript:在不使用Reflect的情况下按名称获取和设置属性
- Jquery为每个元素设置属性
- 从骨干集合筛选模型,然后为这些模型设置属性
- 我们可以设置属性'id'到不同的'按钮'通过使用javascript或jquery的循环
- 如何在javascript对象中设置属性的类型,就像mongoose模式设计一样
- emscripten+sdl=引发异常:TypeError:无法设置属性'widthNative'的未定
- 未捕获的类型错误:无法设置属性'onclick'为null.已尝试window.onload
- Backbone JS Promises在模型上设置属性之前解析
- Highcharts无法设置属性'的值;要点':对象为null或未定义
- 无法设置属性'round'的未定义
- 通过 Javascript 设置 C# 属性值
- 在 app.locals 上设置属性和调用 app.set() 有什么区别?
- 不引人注目地设置属性后函数失败
- j查询在设置属性后在后续单击时不读取数据属性
- IE错误:无法设置属性'的值;样式':对象为null或未定义