1.我的想法是把一部分js脚本存储在数据库中,然后通过请求把js脚本请求下来,动态加载到组件中不知道能不能实现
2.按照曾经的script 的方法 eval('function a(){alert(1)};function b(){alert(2)};') 就能把两个字符串的function添加进去.
不知道这种想法能不能实现,如果不能实现,我应该如何才能处理这种问题呢
1.我的想法是把一部分js脚本存储在数据库中,然后通过请求把js脚本请求下来,动态加载到组件中不知道能不能实现
2.按照曾经的script 的方法 eval('function a(){alert(1)};function b(){alert(2)};') 就能把两个字符串的function添加进去.
不知道这种想法能不能实现,如果不能实现,我应该如何才能处理这种问题呢
<body>
<div id="vuedom">
<div v-for="(ele,index) in obj">
<button @click="ele.fun">123</button>
</div>
</div>
<script src="vue/vue.js"></script>
<script>
new Vue({
el:'#vuedom',
data:{
a:123,
obj:{}
},
methods:{
fun(){}
},
created(){
let obj=[
{
fun:function () {
console.log(123)
},
name:123,
}
];
for(let a=0;a<obj.length;a++){
this[obj[a].fun] = obj[a].fun
};
this.obj = obj;
}
})
</script>
6 回答2.9k 阅读✓ 已解决
6 回答2.3k 阅读
5 回答6.3k 阅读✓ 已解决
2 回答2k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
4 回答2.6k 阅读
2 回答975 阅读✓ 已解决
方法应该不可以动态加载,不过有一个思路你可以参考一下。
方法是固定的,在方法里动态加载函数字符串,然后执行。如下
<template>
<button @class="dynamic"></button>
</template>
<script>
export default {
name: 'test',
data() {
},
methods: {
}
}
</script>
<style lang="less" scoped>
</style>