如何构建VueJS / VueX应用程序以反应性地处理动态外部数据

时间:2018-07-25 16:59:43

标签: javascript vue.js vuex

我有一个Web应用程序,该应用程序本质上分为两个组件:一个包含业务逻辑的JavaScript应用程序,以及一个UI层,允许用户深入研究由该应用程序生成的数据。对于UI层,我希望使用VueJS和VueX,但目前我想知道将JS应用程序中的数据集成到VueJS堆栈中的最佳实践。

我尝试过的一种方法是将对应用程序核心类的引用作为SELECT DBS.NAME AS OWNER, TBLS.TBL_NAME as OBJECT_NAME, TBL_COMMENTS.TBL_COMMENT as OBJECT_DESCRIPTION, TBLS.TBL_ID as OBJECT_ID, TBLS.TBL_TYPE as OBJECT_TYPE, 'VALID' as OBJECT_STATUS, COLUMNS_V2.COLUMN_NAME, COLUMNS_V2.COMMENT as COLUMN_DESCRIPTION, COLUMNS_V2.TYPE_NAME AS DATA_TYPE, 'Y' as NULL_IND, 'N' as PRIMARY_KEY_IND, TBLS.CREATE_TIME as LAST_DDL_TIME FROM DBS JOIN TBLS ON DBS.DB_ID = TBLS.DB_ID JOIN SDS ON TBLS.SD_ID = SDS.SD_ID JOIN COLUMNS_V2 ON COLUMNS_V2.CD_ID = SDS.CD_ID JOIN (SELECT DISTINCT TBL_ID, TBL_COMMENT FROM (SELECT TBLS.TBL_ID TBL_ID, TABLE_PARAMS.PARAM_KEY, TABLE_PARAMS.PARAM_VALUE, CASE WHEN TABLE_PARAMS.PARAM_KEY = 'comment' THEN TABLE_PARAMS.PARAM_VALUE ELSE '' END TBL_COMMENT FROM TBLS JOIN TABLE_PARAMS ON TBLS.TBL_ID = TABLE_PARAMS.TBL_ID) TBL_COMMENTS_INTERNAL) TBL_COMMENTS ON TBLS.TBL_ID = TBL_COMMENTS.TBL_ID; 传递给我的Vue实例,就像这样:

data

这使我可以将实例作为this.vue = new Vue({ el: '#ui-container', store, template: '<UI :app="app"/>', components: { UI }, data: { app: app } }); 传递给我的各个子组件,并且确实可以正常工作。但是,有没有更好/更有效的方法来解决这个问题?

我目前正在使用VueX来维护有关UI各个部分的状态-我应该在此处保留应用程序引用吗?如果是这样,最好的处理方式是什么,同时当应用程序实例中的数据发生更改时使我的组件能够重新呈现?

0 个答案:

没有答案