相关疑难解决方法(0)

Angular2从HTML模板访问全局变量

我有一个全局变量来存储这样的国家/地区列表:

export var COUNTRY_CODES = ["AD", "AE", "AF" /* and more */];
Run Code Online (Sandbox Code Playgroud)

在我的一个组件中,我使用普通的import语句导入了变量

import { COUNTRY_CODES } from "../constants";
Run Code Online (Sandbox Code Playgroud)

我可以在组件代码中自由访问这个全局变量,但是在HTML模板上无法实现这样的功能:

<option *ngFor="let countryCode of COUNTRY_CODES" [value]="countryCode">{{countryCode | countryName}}</option>
Run Code Online (Sandbox Code Playgroud)

我可以通过定义局部变量将全局变量传递给组件,并在初始化期间为其分配全局变量.

ngOnInit() {
  this.countryCodes = COUNTRY_CODES;
}
Run Code Online (Sandbox Code Playgroud)

并更改ngFor此局部变量的to循环以使其工作.

我的问题:这是正确的方法吗?每次我想在模板中使用全局变量时,我都不太习惯定义桥接变量.

angular

27
推荐指数
1
解决办法
2万
查看次数

Angular:ngIf 无法识别枚举类型

*ngIf

<div *ngIf="type === FilterType.DateRangeFilter">
    ...
</div>
Run Code Online (Sandbox Code Playgroud)

结果出现错误

error TS2339: Property 'FilterType' does not exist on type 'FilterComponent

即使枚举类型FilterType被导入到组件中:

import { FilterType } from '../filter-collection/filter-collection.component'

@Component({
  selector: 'app-filter',
  templateUrl: './filter.component.html',
  styleUrls: ['./filter.component.css']
})
export class FilterComponent {

  constructor(private type : FilterType) {
  }

  ngOnInit(): void {

  }

}
Run Code Online (Sandbox Code Playgroud)

从这里:

export enum FilterType {
  DateRangeFilter, SensorSelectFilter
}
Run Code Online (Sandbox Code Playgroud)

有什么想法为什么这行不通吗?

html css angular

2
推荐指数
1
解决办法
973
查看次数

标签 统计

angular ×2

css ×1

html ×1