我想要一个类似的东西,但有很多单一的常量。
为每一个定义一个getter真的很烦人 - 就像为这些常量创建服务的方法一样,因为它意味着我只能在我可以实际注入它的地方使用它们(或者再次进行额外的工作)。
我发现使用内联模板,为我修复它 - 因为它允许将常量编译到模板中 - 使用typescripts multiline` $ {variable}`模板语法 - 唯一要注意的是值必须是根据他们的类型包裹。因为array.toString()方法将导致' 1,2,3,4'所以你需要将它包装在" []" /"' string'"因此,角度模板引擎再次将其作为数组/字符串进行拾取。
编辑:我刚看到提到了类似的方法,但我也不想将每一个值都注入到构造函数中,因为这会像定义每个值的成员一样令人不舒服。
constants.ts:
export const TEST_STRING = 'route';
export const TEST_ARRAY = [1, 2, 3, 4];
component.ts:
import {
TEST_STRING,
TEST_ARRAY
} from 'constants.ts'
@Component({
selector: 'hn-header',
template: '
Link
'
styleUrls: ['./header.component.css']
})
export class HeaderComponent {...}
结果: