计算的Vue并非每次都计算

时间:2019-01-25 15:23:39

标签: javascript vue.js

我的脚本中有错误,我不知道如何解决。

我有

    template:   
<div v-if="!isNeed">
<label class="is-radio" >
<input type="radio" @click="fitImage(\'width\')" v-model="cropValue" name="fitter" value="width"/>
<span class="label-text">firstLine</span></label>
<label class="is-radio" ><input type="radio" @click="fitImage(\'height\')" v-model="cropValue" name="fitter" value="height"/>
<span class="label-text">secondLine</span>
</label>
</div> 
    <div v-else><span>Unsupported</span></div>
    <div class="imgscale-bottom">
    <a class="complete-image" @click="saveImage"><span>Accept</span></a>
    <a @click="deleteImage"><span class="icon-bin"></span><span>Del</span></a></div>
</div>,

computed: {
    isNeed: function () {
        if (this.currentFieldId) {
            var field = Fields.getField(this.currentFieldId);
            return field.format.toUpperCase() === 'GOOD';
        }
        return false;
    }
},
imageSelected: function (event) {

        var _this = this;
        if (format.toUpperCase() === 'GOOD') { 
            fieldService.saveImage(htmlId, file, format);
        } else if (isValidImageExtension(format)) {
            checkImageSize(htmlId, file, format)
   .done(function (htmlId, file, format) {
        fieldService.saveImage(htmlId, file, format);
            });
        }
    }

和其他代码:)

当我尝试上传图片时,可以看到您看到的图片,下面带有一些对话框。而且,如果我在不单击页面上任何位置的情况下上传新图像,则我的计算方法“ isNeed”将不会更新。 不用单击第一行/第二行/接受/删除,而不必单击页面上的自由位置也没关系。

图像加载后如何使isNeed可更新?

1 个答案:

答案 0 :(得分:0)

isNeed是一个依赖于this.currentFieldId的计算属性,这意味着isNeed更改时将重新计算this.currentFieldId的值。

因此,您可以在图像上传后尝试更改this.currentFieldId的值。