gpt4 book ai didi

javascript - Vue.js v-if 不重新渲染

转载 作者:行者123 更新时间:2023-11-30 10:58:47 26 4
gpt4 key购买 nike

我在我的 HTML 中定义了以下内容:

<span v-if="valido" class="fas fa-check" style="position: absolute; right: 44px; top: 43px; color: green"></span>
<span v-else class="fas fa-exclamation-circle" style="position: absolute; right: 44px; top: 43px; color: red"></span>

然后我在我的 VM 中有这个

data: {
valido: false
}

当输入改变值时调用此函数

    validarRestricciones: function () {

var empid = this.inputValue.substring(this.inputValue.indexOf('(') + 1, this.inputValue.length - 1);

$.ajax({
type: 'get',
url: '/api/personas/validar?empid=' + empid,
contentType: 'application/json; charset=utf-8',
dataType: "json",
statusCode: {
200: function (data) {
this.valido = true;
return true;
},
412: function (data) {
this.valido = false;
return false;
},
500: function (data) {
return false;
}
}
});
}

一切正常,我可以在控制台中看到 validofalse 更改为 true 但它不会更改或重绘跨度附加到 valido 属性。好像只是在 Vue 组件的创建上完成的。我怎样才能重画那个??。

最佳答案

你确定它真的改变了你在数据属性中设置的“valido”的值吗?在函数的开头尝试将“this”设置为一个变量,例如“let vm = this”,然后在更改“valido”的内部函数中调用“vm.valido = false”。

“this.valido”可能被分配给紧邻它的状态代码函数,而不是数据变量中设置的函数。

关于javascript - Vue.js v-if 不重新渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58859665/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com