【发布时间】:2018-01-07 19:52:26
【问题描述】:
我正在构建一个纵横比计算器。 如果我有 4 个相互依赖的变量,如何避免无限循环?
我必须设置 4 个观察者,每个数据元素一个。
watch: {
widthRatio(value) {
this.pxWidth = (value * this.pxHeight) / this.heightRatio;
},
heightRatio(value) {
this.pxHeight = (value * this.pxWidth) / this.widthRatio;
},
pxWidth(value) {
//sets heightRatio and widthRatio
},
pxHeight(value) {
//sets heightRatio and widthRatio
}
我希望用户能够更改比率,并且这些更改应该反映在像素上并更新它们。当然,他还可以选择更改像素,这反映在比率上。
【问题讨论】:
-
不要使用观察者
-
还有其他有效的方法吗?
-
您是从输入中获取值变量还是什么?
-
是的,从输入字段中获取 4 个值,并在每个值上使用 v-model。
-
我只会在输入上使用
v-on:change之类的东西,或者使用带有“计算”按钮的'v-on:click。然后使用常规方法计算比率。
标签: javascript vue.js runtime-error infinite-loop