javascript - 在 Angular 6 组件 html 中全局访问 js 对象
问题描述
我正在使用 Angular 6。我有一些包含内容的文件:
SomeObject = {
value1: "Some value",
value2: "Some value2"
}
我有多个组件,我想在我的任何组件 html 中访问此文件/对象的这些值。
例如,在我的组件 .html 文件中,我想访问此文件,例如:
<div>
{{ SomeObject.value1 }}
</div>
我怎么能做到这样的事情?
解决方案
您的模板只能查看组件上公开的内容。这意味着您需要在组件上创建一个公共字段并将您的对象分配给该字段。
import { SomeObject } from './path/to/some/object';
@Component({
// ...
})
export class FooComponent {
SomeObject = SomeObject;
}
如果你在很多地方都需要这个对象,你可以定义一个装饰器来为你做这件事。
定义装饰器:
import { SomeObject } from './path/to/some/object';
export function SomeObjectDecorator(): Function {
return (constructor: Function) => {
constructor.prototype.SomeObject = SomeObject;
}
}
将其应用于组件
import { SomeObjectDecorator } from './path/to/some/object/decorator';
@Component({
// ...
})
@SomeObjectDecorator()
export class FooComponent {
}
推荐阅读
- go - 直接为我在 Go 中的单元测试初始化 struct
- java - 在 iOS 中使用 ShareButton 在 Codenameone 中共享文本或图像以外的其他内容
- angular - 角度过滤器不会一次只过滤每一列
- google-bigquery - 在 BigQuery 中更新表说明
- bash - 如果已经提取了压缩包,如何告诉厨师不要解压压缩包?
- javascript - 如何在使用 AJAX 部分时自动加载第一个 ActiveRecord 对象
- angular - 如何在模板中注入和渲染组件?
- json - 在 http 请求中发送 JSON 字符串时,req.body 为空
- kubernetes - Kubernetes 仪表板部署存在,未创建 pod
- python - 如何在字符串中的元组之间添加空格