Kly*_*ner 47 html enums typescript angular
我使用Typescript创建了一个枚举,用于MyService.service.ts MyComponent.component.ts和MyComponent.component.html.
export enum ConnectionResult {
Success,
Failed
}
Run Code Online (Sandbox Code Playgroud)
我可以轻松地从MyService.service.ts获取并比较定义的枚举变量:
this.result = this.myService.getConnectionResult();
switch(this.result)
{
case ConnectionResult.Failed:
doSomething();
break;
case ConnectionResult.Success:
doSomething();
break;
}
Run Code Online (Sandbox Code Playgroud)
我还想使用枚举在我的HTML中使用*ngIf语句进行比较:
<div *ngIf="result == ConnectionResult.Success; else failed">
<img src="../../assets/connection-success.png" height="300px" class="image-sign-style" />
</div>
<ng-template #failed>
<img src="../../assets/connection-failed.png" height="300px" class="image-sign-style" />
</ng-template>
Run Code Online (Sandbox Code Playgroud)
代码编译但浏览器给我一个错误:
无法读取未定义的属性
使用以下html指示错误行:
有谁知道为什么不能像这样接近枚举?
Gün*_*uer 88
模板的范围仅限于组件实例成员.如果你想参考那里需要的东西
class MyComponent {
get connectionResult() { return ConnectionResult; }
}
Run Code Online (Sandbox Code Playgroud)
然后你可以使用
*ngIf="connectionResult.Success"
Run Code Online (Sandbox Code Playgroud)
Nik*_*ure 23
您将必须按照以下方式在.ts文件中写入它。
enum Tenure { day, week, all }
export class AppComponent {
tenure = Tenure.day
TenureType = Tenure
}
Run Code Online (Sandbox Code Playgroud)
现在在html中,您可以像这样使用
*ngIf = "tenure == TenureType.day ? selectedStyle : unSelectedStyle"
Run Code Online (Sandbox Code Playgroud)
我希望现在更加清楚。:)
Ond*_*rka 12
您可以将枚举作为属性添加到组件中,并在模板中使用与枚举相同的名称(四分之一):
enum Quarters{ Q1, Q2, Q3, Q4}
export class AppComponent {
quarter = Quarters.Q1
Quarters = Quarters
}
Run Code Online (Sandbox Code Playgroud)
在您的模板中
<div *ngIf="quarter == Quarters.Q1">I=am only visible for Q1</div>
Run Code Online (Sandbox Code Playgroud)
之所以起作用,是因为新功能基本上是这种类型的:
TileType: typeof TileType
Run Code Online (Sandbox Code Playgroud)
小智 6
import MyEnum from enums;
Run Code Online (Sandbox Code Playgroud)
.... 声明 var ....
public myEnum = MyEnum;
Run Code Online (Sandbox Code Playgroud)
并在 html 中使用:
<div *ngIf="xxx === myEnum.DATA"> ... </div>
Run Code Online (Sandbox Code Playgroud)
为您服务
export enum ConnectionResult {
Success,
Failed
}
Run Code Online (Sandbox Code Playgroud)
将枚举分配给 TypeScript 文件中的变量
ConnectionResult = ConnectionResult;
Run Code Online (Sandbox Code Playgroud)
然后从 HTML 中读取 Enum,如下所示
*ngIf="result == ConnectionResult.Success"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27292 次 |
| 最近记录: |