vue2.0项目中methods中的方法可以动态加载吗?

发布于 2022-09-11 23:46:53 字数 211 浏览 14 评论 0

1.我的想法是把一部分js脚本存储在数据库中,然后通过请求把js脚本请求下来,动态加载到组件中不知道能不能实现

2.按照曾经的script 的方法 eval('function a(){alert(1)};function b(){alert(2)};') 就能把两个字符串的function添加进去.

不知道这种想法能不能实现,如果不能实现,我应该如何才能处理这种问题呢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

葬花如无物 2022-09-18 23:46:53

方法应该不可以动态加载,不过有一个思路你可以参考一下。
方法是固定的,在方法里动态加载函数字符串,然后执行。如下
<template>
<button @class="dynamic"></button>
</template>

<script>
export default {
name: 'test',
data() {
},
methods: {

dynamic() {
  //加载函数字符串,然后执行
}

}
}
</script>

<style lang="less" scoped>
</style>

一身骄傲 2022-09-18 23:46:53

methods中的方法肯定不能动态加载,不过可以从后端获取脚本,动态执行全局function

谜兔 2022-09-18 23:46:53
<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>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文