Angular2以动态方式添加组件

时间:2016-11-04 19:34:49

标签: angular dynamic typescript

实际上我正在尝试找到导入的解决方法并以动态方式解析组件,我曾经使用System.import然后使用componentResolver来完成它(RC4),然后当我将项目迁移到最终版本时因为我的研究是一个问题,因此System.import不能解析组件的路径(如果它在变量上)(路径是并且需要在变量中)上下文,但我不知道如何解决它

以下代码用于工作

System.import(formPath).then((module: any) => {
    this.widgetService.add(new Widget('Widgets.Form',
                                       module[Object.keys(module)[0]],
                                       1
                                       )
                          );
    },
    (err: any) => console.error(err)
)

但现在我不能这样做,我正在尝试以下代码

System.import(pathToForm)
    .then(cmp => console.log(cmp))
    .catch(err => console.error(err));

有人知道如何让它发挥作用吗?

顺便说一下,我正在使用使用webpack的angular-cli

我也用require测试过,我也有同样的行为。

提前致谢,对不起我的英语。

修改 我发现为什么System.import不能为我工作,我完全忘记了我从systemJS迁移到angular-cli(使用webpack)但是应该有一种方法从变量中获取需求,因为我用它来做SystemJS

1 个答案:

答案 0 :(得分:0)

System.import对我不起作用,我完全忘记了我从systemJS迁移到angular-cli(使用webpack)但是应该有一种方法可以从变量中获取需求,就像我用来做的那样它与SystemJS