#typescript
#typescript
Вопрос:
Вот мой код
// properties.ts
export const properties = {
title: "Google"
};
// example.ts
import { properties } from './properties.ts';
console.log(properties.title); // Prints Google
console.log(eval("properties.title")); // Expected to print Google but throws ReferenceError: properties is not defined
Однако,
console.log(eval(‘properties_1.properties.title’)) // Печатает Google
Но как вывести «properties_1» — это моя забота.
Ответ №1:
Инструкция import в TS переносится в новую переменную. Это по умолчанию в typescript, и eval не может вычислить это.
Я пробовал так, и это сработало,
import { properties } from './properties';
let p = properties;
console.log(p.title); // Prints Google
console.log(eval('p.title'));
Это можно сделать другим способом, импортировав свойства в переменную,
import * as properties from './properties';
console.log(properties.properties.title); // Prints Google
console.log(eval('properties.properties.title')); // Prints Google
Убедитесь, что вы скомпилировали этот способ,
>tsc dynamic.ts -t ES6 -m commonjs