Vuejs -基于其他计算属性的计算属性

nwlls2ji  于 2023-03-19  发布在  Vue.js
关注(0)|答案(2)|浏览(190)

我正在尝试从另一个计算属性中获取一个计算属性,如下所示:

var instance = new Vue({
    el: "#instance",
    data: {
        aha: ""
    },
    computed: {
        len: function(){
            return this.aha.length;
        },
        plus : function(){
            return this.len.length + 2;
        }
    }
});

这不起作用。当我试图显示plus时,我的模板中出现NaN。有什么方法可以使其起作用吗?this question的答案对我不起作用。

pod7payv

pod7payv1#

您正在尝试访问number类型的length字段。
this.len是数字,因此this.len.length未定义。您只需要使用this.len

var instance = new Vue({
    el: "#instance",
    data: {
        aha: ""
    },
    computed: {
        len: function(){
            return this.aha.length;
        },
        plus : function(){
            return this.len+ 2;
        }
    }
});
42fyovps

42fyovps2#

component中的data属性必须是函数,因此在您的情况下,它应该如下所示:

data () {
 return {
   aha: ""
 }
}

相关问题