Angular 4中的可配置组件(动态类加载器)

时间:2018-01-06 09:57:24

标签: angular typescript dependency-injection architecture

在我们的应用程序中,我们有var slideIndex = 0; showSlides(); function showSlides() { var i; var slides = document.getElementsByClassName("mySlides"); var dots = document.getElementsByClassName("dot"); for (i = 0; i < slides.length; i++) { slides[i].style.display = "none"; } slideIndex++; if (slideIndex > slides.length) {slideIndex = 1} for (i = 0; i < dots.length; i++) { dots[i].className = dots[i].className.replace(" active", ""); } slides[slideIndex-1].style.display = "block"; dots[slideIndex-1].className += " active"; setTimeout(showSlides, 2000); // Change image every 2 seconds } var slideIndex = 1; showDivs(slideIndex); function plusDivs(n) { showDivs(slideIndex += n); } 显示键盘布局, 基于给定的JSON,例如。 KeypadComponent等。

现在我们已经定义了大约100个键盘布局,但是可能有无限数量的键盘布局(每种语言都是特定的),因此很难将它们全部注册为提供者。

您会选择哪种架构?

现在我想到这样的事情(每个文件存储一个布局):

{'Q', 'W', 'E', 'R'...}

1 个答案:

答案 0 :(得分:1)

我不知道你是如何加载组件的。我认为动态路由参数最适合。

如果您想更改不同键盘布局的模板
 然后,您可以为每个子组件使用nested router outelet

如果您不想更改模板
然后创建一个服务,返回特定布局的特定数据