У меня есть Angular проект со следующим файлом переменной среды
canvases.ts
export const Canvases = {
bmc: [
['KP', 'Key Partners'],
['KA', 'Key Activities'],
['KR', 'Key Resources'],
['VP', 'Value Propositions'],
['CR', 'Customer Relationships'],
['CH', 'Channels'],
['CS', 'Customer Segments'],
['Cost', 'Cost Structure'],
['Rev', 'Revenue Streams']
],
gpr: [
['Gain', 'Gain'],
['Pain', 'Pain'],
['Inertia', 'Inertia']
]
}
Я пытаюсь отобразить данные из этого файла, вызывая переменную непосредственно из html файл
.ts файл
import {Canvases} from '../../../../environments/canvases'
. html файл
<app-canvas-section [Name]="Canvases.bmc[0]"></app-canvas-section>
Однако консоль продолжает жаловаться, что я пытаюсь получить доступ к свойству 'bm c' из неопределенного, почему это так? Могу ли я не получить доступ к переменным окружения напрямую из моего html файла?
РЕДАКТИРОВАТЬ: Немного поэкспериментировав, мне удалось решить проблему, выполнив следующую команду
. ts file
import {Canvases} from '../../../../environments/canvases'
export class MyComponent implements OnInit{
Canvases=Canvases;
}
. html file
<app-canvas-section [Name]="this.Canvases.bmc[0]"></app-canvas-section>
Хотя это кажется немного странным, и я до сих пор не понимаю, что не так с оригинальным кодом. Кто-нибудь может объяснить?