javascript - 如何避免一页中两个相同的 Vue 应用程序的代码重复?
问题描述
我有一个页面,我想在其中使用两个几乎相同的 Vue 应用程序。他们将只有一个简单的表,其中包含一些状态信息和一些input
s。它们唯一不同的是表的 id。我有一个单独的函数,它向他们提供数据,并以 Vue 应用程序作为其参数之一被调用(在正在下载的状态的回调中)。
所以现在我在脚本中有两个 Vue 应用程序,一个一个在一个之上,并且 48/50 行是相同的(我可以期待它们会增长)。他们每个都有几个data
元素,几个methods
和一个computed
。我怎样才能避免如此糟糕的代码重复?
到目前为止,我的解决方案是预定义data
, computed
, methods
( pre_...
),然后执行以下操作:
var app1 = new Vue({
el: '#status_table_1',
data: deepcopy(pre_data),
methods: {
error: function() { return pre_methods.error(this); },
load: function(a, b, c) { return pre_methods.load(this, a, b, c); },
},
computed: {
comp_prop: function() { return pre_computed.comp_prop(this); }
}
}
这使它更苗条了,但是仍然有很多重复,而且感觉不对...
有任何想法吗?提前致谢!
解决方案
推荐阅读
- linux - 在一台机器上运行两个 Pentaho 实例
- nosql - 具有大量选择或更好方法的涌入查询
- html - 模态的数据目标不想使用数字
- r - 根据另一列中的观察结果创建新列
- javascript - 使用 if 语句在嵌套对象上应用函数
- python - 使用 Plotly 在面积图上添加一条具有适当比例的线
- azure-devops - 发布管道 Azure Container Registry & Azure App Services - 指定容器标签
- javascript - TypeScript 的数字数组总是排序的——即使不是
- spring - 可以使用ConcurrentMapCacheFactoryBean自定义Spring Boot简单ConcurrentMapCache的存储吗?
- arrays - 如何将在 python 中计算的数据迭代地添加到 2d numpy 数组中