angular - 以角度动态切换模板html,scss
问题描述
我有如下格式的标题组件:
app-header (folder)
classic (folder)
app-header.component.html
app-header.component.scss
elegant (folder)
app-header.component.html
app-header.component.scss
simple (folder)
app-header.component.html
app-header.component.scss
app-header.component.ts
我想在这些模板文件夹(经典、优雅、简单)之间动态切换。我的意思是,通过 http 请求从 db 获取模板文件夹名称,并分别从该文件夹加载 html 和样式。
我已经通过在环境变量中设置文件夹名称并根据它加载来完成它。我如何通过调用 API 来设置该环境变量并根据它加载 html 和样式?
以下是我尝试从 app-header-component.ts 中的环境变量加载的代码
import { Component, OnInit } from '@angular/core';
import { ConfigService } from './../config.service';
import { environment } from './../../environments/environment';
let theme_name = environment.theme_name;
const header = require('./' + theme_name + '/app-
header.component.html');
const style = [require('./' + theme_name + '/app-
header.component.scss')];
@Component({
selector: 'app-header',
template: header,
styles: style
})
解决方案
你有没有尝试过这样的事情?
@Component({
selector: 'selector',
templateUrl: environment.template_path,
styleUrls: [environment.style_path]
})
推荐阅读
- java - Anaconda 我无法在没有错误 JAVA_HOME.sh = not found 的情况下切换环境?
- c# - 在非常简单的属性更新期间,Okta 的“请求正文格式不正确”
- android - 使用 gradlew assembleRelease 从本机反应创建发布 apk 时出错
- javascript - 基于laravel刀片中属性值的条件语句
- c# - 在 MVC Web 应用程序中计算员工的剩余假期天数?
- reactjs - 尝试创建新的 React 应用程序时出现错误 404
- spring-boot - Keycloak:我可以为每个客户端身份验证请求设置空闲会话超时吗?
- c# - C# SecureString 如何在用户想要查看时显示密码?
- ethereum - 可靠地在账户之间转账
- java - 为什么无需请求就授予 WRITE_CONTACTS 权限?