vue动态引入js

一、先建立一个js文件

// 导入外部js
import vue from 'vue'

vue.component('remote-script', {
    render: function (createelement) {
        var self = this;
        return createelement('script', {
            attrs: {
                type: 'text/javascript',
                src: this.src
            },
            on: {
                load: function (event) {
                    self.$emit('load', event);
                },
                error: function (event) {
                    self.$emit('error', event);
                },
                readystatechange: function (event) {
                    if (this.readystate == 'complete') {
                        self.$emit('load', event);
                    }
                }
            }
        });
    },
    watch: {
        src(newName,oldName){
            this.$forceUpdate()
        }
    },
    props: {
        src: {
            type: String,
            required: true
        }
    }
});

二、vue文件中

1.template中

<remote-script v-if="videoSrc" :src="videoSrc"></remote-script>

2.script中

    import '../assets/js/video'
	export default {
        
		filters: {
			// 数字过万保留两位
			screenNum(num) {
                if(num > 9999){
                    num = (num/10000).toFixed(2) + 'W'
                }
				return num
			},
		},
		data() {
			return {
                videoSrc: 'fdsafdsa',
			};
		},
		components: {

        },
		created() {

		},
		mounted() {
            this.getVideoSrc()
		},
		methods: {
            getVideoSrc(){
                setTimeout(() => {
                    this.videoSrc = ''
                    this.$nextTick(()=>{
                        this.videoSrc = 'https://p.bokecc.com/player?vid=EB4E26503C00AB13FC9558351D509E7C&siteid=F53724C6881B12CA&autoStart=true&width=100%25&height=490&playerid=66F20AA241F03A84&playertype=1'
                    })
                }, 1000);
            }

		}
		
	};

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值