在angular 2/4中有条件地从index.html添加/删除脚本

在angular 2/4中有条件地从index.html添加/删除脚本,angular,Angular,我正在尝试使用angular重写一个网站,有一个页面使用了不同的脚本集,因此我无法使用当前的index.html,因为该页面将无法加载,因为它没有必要的js文件 那么,是否可以根据路由有条件地添加/删除脚本?例如,如果我在这条路线上,我想将此脚本文件添加到index.html当然,您当然可以这样做。这是一种方法,但实际上可以将它包含在要运行它的组件中,然后延迟加载到它的路由,以便在访问该路由之前不会加载脚本 import { ActivatedRouteSnapshot } from '@an

我正在尝试使用angular重写一个网站,有一个页面使用了不同的脚本集,因此我无法使用当前的index.html,因为该页面将无法加载,因为它没有必要的js文件


那么,是否可以根据路由有条件地添加/删除脚本?例如,如果我在这条路线上,我想将此脚本文件添加到index.html

当然,您当然可以这样做。这是一种方法,但实际上可以将它包含在要运行它的组件中,然后延迟加载到它的路由,以便在访问该路由之前不会加载脚本

 import { ActivatedRouteSnapshot } from '@angular/routing';

    constructor(route: ActivatedRoute){}

    ngOnInit() {
        const script = document.createElement('script');
        script.src ='../../assets/js/myScript.js';
        if (this.route === 'root/with/script') {
            document.body.appendChilde(script);
        }
    }

当然,你当然可以做到。这是一种方法,但实际上可以将它包含在要运行它的组件中,然后延迟加载到它的路由,以便在访问该路由之前不会加载脚本

 import { ActivatedRouteSnapshot } from '@angular/routing';

    constructor(route: ActivatedRoute){}

    ngOnInit() {
        const script = document.createElement('script');
        script.src ='../../assets/js/myScript.js';
        if (this.route === 'root/with/script') {
            document.body.appendChilde(script);
        }
    }