Сообщение об ошибке, которое я получаю при назначении импортированного json типизированной переменной в ts, состоит в том, что type: string нельзя назначить типу: «A». Я понимаю, что он пытается мне сказать, и использование приведения типов в качестве Card [] - простой обходной путь.
blockquote>Вот эквивалентное упрощение ошибки:
type Card = { a:"A", value: number } const failJSON = { a: "A", value: 123 } const fail: Card = failJSON; // Error: type string not assingable to type "A"
Исправить
Если бы это был не JSON, вы бы сделали вывод в точке создания: [118 ]
type Card = { a:"A", value: number } const passJSON = { a: "A" as "A", // NOTICE! value: 123 } const fail: Card = passJSON; // OK
Но так как это файл JSON, вы не можете добавить туда утверждение. Вы можете только утверждать
as Card[]
, как вы уже поняли.Причина
TypeScript выводит
string | number | boolean
и т. Д. Вместо литералов для объектов.
Telerik сообщая о больших взглядах. Основное преимущество состоит в том, что можно создать отчеты и сохранить их в dll блоках, которые могут использоваться в сети и в настольном средстве просмотра. В то же время, со всем необходимым экспортом.
Недостаток - то, что конструктор отчетов находится все еще в Visual Studio. DotNet только.
Я использовал abcPDF webSuperGoo продуктом. Это было прекрасно и было просто для быстрого develoment.
Я использовал это приблизительно 5 лет назад, таким образом, это должно быть немного более актуально к настоящему времени.
Livecycle Forms - хороший выбор. Все дело в создании PDF-документов, начиная с шаблона, который вы разрабатываете, и встраивании данных в шаблон в форме XML. Конечный результат - плоский или интерактивный PDF-файл. Livecycle Forms был разработан для создания интерактивных PDF-файлов, но сгладить документы по завершении рендеринга довольно просто.
Возможно, вам придется написать приличный объем пользовательского кода для создания XML-документов, но возможности построения PDF-файлов впечатляют. . Если у вас сложный рабочий процесс, в пакете Livecycle также есть дизайнер рабочего процесса, который вы можете использовать.