Nic*_*las 1 typescript angular
是否可以在模板文件中使用env变量?
我目前正在尝试使用以下语法:
<img class="preview-image" src="{{environment.assets + item.image}}" />
Run Code Online (Sandbox Code Playgroud)
导致以下错误:
未定义标识符“环境”。组件声明,模板变量声明和元素引用不包含此类成员
我尝试将其导入我的component.ts文件中,import { environment } from './../../../../environments/environment';但没有任何改变。
只需environment在控制器中使用值定义公共变量,即可在模板中访问它:
import { environment } from '../environments/environment';
export class AppComponent {
environment = environment;
}
Run Code Online (Sandbox Code Playgroud)
小智 7
我最近想做同样的事情,我想出了一个管道解决方案,它适用于每个模板,而无需更改其 .ts 文件:
import {Pipe, PipeTransform} from '@angular/core';
import {environment} from '../../environments/environment';
@Pipe({name: 'env'})
export class EnvPipe implements PipeTransform {
transform(variable: string): any {
return environment[variable];
}
}
Run Code Online (Sandbox Code Playgroud)
然后,在您的 HTML 中,只需使用:
<span>{{'variableName' | env}}</span>
Run Code Online (Sandbox Code Playgroud)
在你的情况下:
<img class="preview-image" src="{{'assets' | env}}{{item.image}}" />
Run Code Online (Sandbox Code Playgroud)
确保将管道组件添加到您的 app.module.ts
| 归档时间: |
|
| 查看次数: |
1399 次 |
| 最近记录: |