计算属性和Vue组件

时间:2020-11-01 18:33:49

标签: javascript vue.js vuejs2 computed-properties

我正在尝试为现有的普通JS库开发Vue包装器组件。

该库传递了一个回调,当需要另一个项目时将调用该回调 数据,并且需要执行此回调才能返回该数据。

包装器组件不需要知道此数据,而是实际计算 或检索将在顶级Vue应用程序中处理。

我认为我正在寻找的是计算属性。

但是我找不到在其中定义计算属性的位置的示例 一个组件,实际计算在父应用程序中处理。

这是我到目前为止所拥有的。 (为简化起见,使用了简化的代码)

在普通的JS库中:

export default (pullDataCallback) => {
    // the repaint method gets called at regular intervals
    const repaint = () => {
        // ... render the current frame of animation ...
        newData = pullDataCallback();
    };

    return {
        // ... a bunch of other methods ...
    };
};

我的Vue包装器组件:

Vue.component('vue-wrapper', {
    'template': '<div class="vue-wrapper"></div>',
    'computed': {
        'dataPair': SOMETHING
    },
    'mounted': () => {
        this.plainJSLibrary = require('plain-js-lib')(() => {
            return this.dataPair
        });
    },
});

顶级Vue应用程序

new Vue({
    'el': '#vue-wrapper',
    'computed': {
        'dataPair': () => {
            // simplified example calculation
            return { 'x': 23, 'y': 42 };
        }
    }
});

如您所见,我的组件代码中有一些相当大的漏洞 目前...任何对Vue更有经验的人都可以填写以下任何内容吗? 差距。

0 个答案:

没有答案