【问题标题】:Vue.js: Give a nested property/attribute a custom valueVue.js:给嵌套属性/属性一个自定义值
【发布时间】:2015-08-10 07:43:56
【问题描述】:

在我看来(HTML)我想展示这个:

<p>Age: {{ user.age }} years</p>

在我的 javascript 中,这就是我所拥有的:

new Vue({

    el: '#userApp',

    data: {
        user       : user,
        alergies   : user.alergies,
        conditions : user.conditions,
        drugs      : user.drugs,
        solicitudes: solicitudes,
    },

    computed: {

    },

    filters: {
        active: function(elements) {
            return elements.filter(function(element){
                return ! element.fecha_fin;
            });
        }
    },

    methods: {

    }

});

如何修改计算属性中的年龄?我试过这样做

computed: {
    user.age: 10        
},

但它不允许。

注意:我从服务器获取user, solicitudes

【问题讨论】:

    标签: javascript arrays vue.js


    【解决方案1】:

    计算属性是您用作属性的函数。

    就您而言,我认为您可以像对待药物或疾病一样使用年龄。比 2 种方式的数据绑定更能解决这个问题。

    data: {
        user       : user,
        alergies   : user.alergies,
        conditions : user.conditions,
        drugs      : user.drugs,
        age        : user.age,
        solicitudes: solicitudes,
    }
    

    根据您在下面的评论,也许您可​​以使用:

    compiled: {
        user[age] = theAgeOfTheUser
    }
    

    该方法将在用户对象上创建一个新属性。然后你可以像任何其他值一样修改。

    【讨论】:

    • 这就是我最终要做的,但不是我想要的。我想访问年龄作为用户的属性,因此user.age
    • 好的。我想你可以使用:compiled: { user[age] = age; }
    • 我试过了,但它不起作用,我认为只是 javascript 的结构不会让它发生。顺便说一句,错误说:Uncaught SyntaxError: Unexpected token [
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-01
    • 1970-01-01
    • 2018-11-08
    • 2019-08-02
    • 1970-01-01
    • 2010-10-02
    • 1970-01-01
    相关资源
    最近更新 更多