首页 > 解决方案 > 在将对象的 getter 下划线发送到 API 之前对其进行规范化

问题描述

我想保存一个使用 getter 和 setter 的 JS 对象:

export default class Item {
    get id () {
        return this._id;
    }

    set id (value) {
        this._id = value;
    }

    get name () {
        return this._name;
    }

    set name (value) {
        this._name = value;
    }
    
    constructor (id, name, children) {
        this._id = id;
        this._name = name;
        this._children = children;
    }
    
    test () {
        // ...
    }
}


new Item(item.id, item.name, item.children)

我需要 JavaScript getter 和 setter,因为我必须处理再次调用自身的嵌套项。

这可以很容易地使用类似的东西来完成:

get children () {
        return this._children.map((child)=>{
            return new Item(child.id, child.name)
        });
    }

我正在使用这个对象,有一点我想使用对 PHP-API 的调用来保存它:

async save () {
        let method = 'put';
        let url = '/api/item';
        let data = {item: this.item};

        axios ({method, url, data}).then ((response) => {
            // ...
        })
},

现在 PHP-API 接收到一个对象,其属性以_(如:)开头_id,这在某些点上破坏了 PHP 逻辑。

我的问题:是否可以调用所有 getter 来获取包含nameidprops 而不是_nameand的对象_id

标签: javascript

解决方案


推荐阅读