我有一个页面,我想使用两个几乎相同的Vue应用程序。他们将只有一个简单的表,其中包含一些状态信息和一些input
。它们唯一不同的是表的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,c); },},computed: {
comp_prop: function() { return pre_computed.comp_prop(this); }
}
}
这使它更苗条,但是仍然有很多重复项,只是感觉错了...
有什么想法吗?预先感谢!