【发布时间】:2018-03-16 15:17:04
【问题描述】:
这是我的问题的例子:
const app = new Vue({
el: '#mainCreate',
data: {
v_total : 0,
test : [],
},
});
function f_test(){
var d = [
{title : 'p1', price : 0},
{title : 'p2', price : 2},
{title : 'p3', price : 0},
{title : 'p4', price : 4}
]
$.each(d, function(index,date){
Vue.set(app.test, index, date);
});
}
function changeV(){
app.v_total += 10;
}
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.js"></script>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<div id="mainCreate">
<h4>I input the charge with a check according to a v-if, but look what happens if I select an input that was not checked and change the value of v_total .... reload the input</h4>
v_total = {{ v_total}}
<br>
<span v-for="date in test">
{{ date.title }}
<input type="checkbox"
name="featuresBox"
v-bind:checked="date.price == 0">
<br>
</span>
<button onClick="f_test()">create object</button>
<button onClick="changeV()">change app.v_total</button>
</div>
如果我只是更改app.v_total,因为输入丢失了我与v-if 一起输入的check? (我想是因为 VUE 认为测试也更新了),不应该是这样的。
【问题讨论】:
-
添加更多代码,显示你做的部分
app.v_total = value。 -
不影响我将值更改为“app.v_total”的位置,如果我从控制台执行此操作,它也会发生相同的情况,是否有任何事件阻止对象被更新?
-
您所说的行为不正常,必须重置
feature数据。也许那些readyIcheck()或calculateTotal.eventIcheck();。显示他们的代码或评论他们并测试。 -
也不是那个,是VUE,不知道是不是'app.features'动态添加了数据,但就是这样,当我在塑造另一个对象时,'app.features'就好像它变了一样
-
请参阅有关创建Minimal, Complete, and Verifiable example 的帮助部分。根据您提供的有限信息,我无法重现所描述的问题:jsfiddle.net/m7g1uwL7