1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/baidu-san

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
CHANGELOG.md 28 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 01.12.2024 10:28 fdc3149

ChangeLog

3.9.1

  • Исправлена ошибка:   интерпретировался как \u0020 (пробел), теперь он интерпретируется как \u00a0 (неразрывный пробел).

  • Оптимизация: метод SanData#get() поддерживает тип параметра data.get<string>().

3.9.0

  • Новая функция: в объект Data добавлен метод assign.

  • Новая функция: добавлена поддержка компонента ANode для сжатия и распаковки.

  • Изменение: метод compileComponent был удалён, добавлен метод parseComponentTemplate.

  • Изменение: из source.tagName можно получить избыточный атрибут subTag, который был удалён из объекта.

  • Оптимизация: улучшена совместимость с HTML за счёт того, что узлы атрибутов шаблона не заключаются в кавычки.

  • Оптимизация: была проведена оптимизация и тонкая настройка компиляции узлов шаблона компонента ANode.

  • Оптимизация: при обновлении цикла trackBy, если цель цикла — обычный узел, используется существующий узел вместо создания нового, чтобы избежать потери данных.

  • Исправление ошибки: когда корневой узел компонента не является HTMLElement, изменения в данных внутри attached не вызывают обновления представления.

И так далее.

Этот текст содержит технические термины и описания изменений в программном обеспечении. Он может быть полезен разработчикам и техническим специалистам. Процесс анализа выражений в ходе работы над выражениями был оптимизирован.

  • Исправление ошибок: при динамическом создании дочерних компонентов и добавлении их в children, возникала ошибка времени выполнения. Эта проблема была введена в версии 3.5.8.

3.6.3

  • Исправление ошибок: возникали ошибки рендеринга при использовании тегов SVG с заглавными буквами, таких как forgienObject.

3.6.2

  • Новая функция: добавлена поддержка обхода объектов для команды for.
  • Исправление ошибок: не работала двусторонняя привязка при input type, который имел динамическое значение.

3.6.1

  • Новые функции:
    • добавлена поддержка trackBy для команды for;
    • команда for теперь поддерживает обход массивов literal.
  • Оптимизация: улучшен анализ выражений, включая поддержку переноса строки как пробельного символа.

3.6.0

  • Новые функции:
    • добавлен s-bind для указания всего объёма данных в scoped slot;
    • изменена поддержка анимации компонентов: вместо класса transition используется инициализирующий параметр transition;
    • улучшено обнаружение изменений при обновлении массива внутри компонента: теперь splice точно отслеживается.

3.5.11

  • Улучшение: в режиме разработки добавлено больше подсказок об ошибках анализа выражений.

3.5.10

  • Улучшение: изменена логика getComponentType, удалена ненужная оптимизация hotTags.

3.5.9

  • Новые функции: добавлена поддержка анализа выражений для array literal и object literal.

3.5.8

  • Новые функции:
    • добавлены новые возможности для работы с данными: поддержка метода splice со стартовым индексом меньше нуля и команды s-bind;
    • улучшена обработка пустых значений атрибутов обычных элементов: они устанавливаются как пустые строки.
  • Исправление ошибок:
    • при выполнении операций с массивами в created, последующие обновления вида происходили некорректно;
    • некорректное обновление вида после изменения данных в компоненте.

3.5.7

  • Улучшения:
    • разрешены пустые текстовые узлы перед комментарием в компонентах во время их деконструкции;
    • добавлена поддержка экранирования часто используемых html-сущностей.
  • Исправления ошибок:
    • проблемы с рендерингом html-сущностей в SSR, которые были введены в версии 3.5.5;
    • ошибки при многократном использовании команд splice, когда операции удаления и вставки чередовались: обновления вида могли происходить некорректно.

3.5.6

  • Новые функции:
    • для удобства разработчиков добавлена поддержка команды s-else-if, которая работает аналогично команде s-elif;
    • предоставлены API Data и evalExpr для хранения данных и вычисления выражений;
    • исправлены проблемы с анализом выражений для сложения, вычитания, умножения и деления;
    • устранены ошибки обновления вида при многократных операциях splice, где удаление и вставка чередовались.
  • Исправления ошибок:
    • неправильное имя тега при использовании template в качестве объявления корневого элемента компонента;
    • неправильная обработка html-сущностей для свойств и атрибутов содержимого текста.

3.5.5

  • Новые функции: добавлен параметр force к методу set для принудительного обновления значения данных при совпадении текущего и устанавливаемого значений.
  • Исправления ошибок:
    • неправильное название тега при объявлении корневого элемента шаблона компонента;
    • некорректная обработка html-сущностей для содержимого текста и атрибутов тегов.

3.5.4

  • Улучшение: использование createElement вместо html при создании вида.

3.5.3

  • Исправление ошибки: неправильный анализ числовых литералов приводил к неожиданным результатам вычислений в выражениях.

3.5.2

  • Исправления ошибок:
    • одновременное выполнение команд detach и dispose для компонента приводило к тому, что компонент не достигал состояния disposed;
    • ошибка при установке логического атрибута для данных компонента, если атрибут имел статическое значение;
    • иногда не отображались сообщения об ошибках при некорректном шаблоне компонента.
  • Улучшения: оптимизация обработки логических атрибутов.

3.5.1

  • Исправление ошибки: повторный набор значений для элементов массива приводил к ошибкам.

3.5.0

  • Изменения:
    • поведение интерполяции HTML изменилось по умолчанию: выполняется кодирование HTML, за исключением последнего фильтра raw;
    • удалены два фильтра: html и raw;
    • некоторые свойства ANode были преобразованы из IndexedList в массивы для упрощения сериализации JSON;
    • поддержка delimiters для компонентов при их объявлении: можно настроить разделители вокруг интерполированных значений;
    • метод getComponentType(aNode) добавлен по умолчанию для компонентов, чтобы упростить создание компонентов во время выполнения;
    • компоненты могут принимать id в качестве идентификатора корневого элемента;
    • улучшения производительности;
    • частичные теги (например, select, tr и т. д.) теперь совместимы с create + insert для поддержки HTML в старых версиях IE;
    • определение глобального объекта san добавлено в определения типов TypeScript;
    • события, объявленные с помощью native, запускались при вызове fire;
    • значения перечисления, назначенные свойствам с логическим типом (например, draggable), выводились неправильно, если им присваивались строковые значения;
    • обновления вида происходили неправильно при многократной обработке данных для компонентов с использованием команды for, когда индекс компонента менялся из-за обновлений данных.
  • Исправления ошибок:
    • определения DataTypeCheck и computed в определениях типов TypeScript были ошибочными;
    • типы данных в определениях TypeScript для DataTypeCheck были определены неверно.

3.4.3

  • Исправления ошибок:
    • структура шаблонов, слотов и текстов была изменена для устранения проблем с обновлением сложных вложенных сценариев;
    • в IE9 возникали проблемы с двусторонней привязкой для input[type=text];
    • улучшение определений типов для часто используемых API.

3.4.2

  • Исправления ошибок:
    • если пользовательский фильтр использовался в интерполяции и за ним следовал нестандартный узел, обновление вида происходило некорректно;
    • несколько сред san на одной странице могли приводить к конфликтам компонентов.

3.4.1

  • Исправление ошибки: данные undefined в initData заменяли данные в data при инициализации компонента.

3.4.0

  • Новые функции: добавлены методы merge и apply к объекту Data.
  • Изменение: новый механизм сопоставления шаблонов для деконструкции компонентов заменил старый механизм маркировки.
  • Исправление ошибки: интерполяция атрибутов элементов не допускала пробелов до и после знака равенства.

3.3.2

  • Улучшения:
    • автоматическая замена - на camelCase в объявлениях scoped slot для данных;
    • неопределённые значения в data binding не заменяют значения по умолчанию в данных при инициализации компонентов;
    • обработка autofocus и required для boolean значений улучшена;
    • обновление вида для элементов с командой for под шаблонами приводило к ошибкам времени выполнения;
    • текстовые узлы в слотах или шаблонах могли вызывать некорректные обновления, если у родительского узла был предыдущий брат;
    • удаление элементов списка в команде for могло привести к ошибкам при scoped slots;
    • параметры событий не получали данные при использовании native для объявления событий;
    • данные не обновлялись должным образом для двусторонне привязанных входных данных в UIWebView при открытии клавиатуры.

3.3.1

  • Новые функции:
    • имена слотов могут быть динамическими;
    • scoped slots позволяют получить доступ к данным текущей среды владельца;
    • s-ref позволяет получить доступ к элементам DOM;
    • режим разработки предоставляет более подробные сообщения об ошибках для анализа шаблонов.
  • Улучшения:
    • элементы, объявляющие атрибут slot, могут иметь идентификатор в шаблоне;
    • атрибут slot удаляется из DOM-представления элемента, когда он объявляется в шаблоне;
    • по умолчанию $event не добавляется автоматически к параметрам событий, когда они явно объявлены как пустые;
    • переходные эффекты сохраняются при очистке всех элементов для команды for;
    • избыточные текстовые узлы автоматически удаляются при деконструкции компонента.
  • Исправления ошибок:
    • быстрое изменение элементов в команде for с переходом могло вызвать ошибки времени выполнения, если дочерний элемент не существовал;
    • двусторонняя привязка не обновляла данные владельца, когда дочерние компоненты устанавливали данные во время инициализации;
    • входные данные могли подвергаться атакам XSS при двусторонней привязке.

3.3.0

Добавлена поддержка тегов template, которые не рендерят элементы, а только их содержимое. Поддержка через native modifier позволяет напрямую связывать события с компонентом и его корневым элементом.

  • Новые возможности:

    • поддержка capture modifier для привязки событий на этапе захвата;
    • поддержка scoped slot;
    • поддержка transition механизма;
    • slot поддерживает if и for директивы;
    • на компоненте можно получить доступ к содержимому, вставленному в слот;
    • добавлен метод nextTick для компонента, который позволяет избежать зависимости от san;
    • в main раскрыто перечисление NodeType;
  • Изменения:

    • из parseTemplate удалён родительский элемент ANode, что позволило использовать JSON.stringify после устранения циклических ссылок;
    • у ANode изменены имена дочерних узлов с childs на children;
    • статифицирован объект LifeCycle, в main больше не раскрывается класс LifeCycle;
  • Оптимизация:

    • операции push и unshift для данных возвращают новую длину массива, как в JS Array;
    • добавлено сообщение об ошибке при попытке связать событие с несуществующим методом;
    • при изменении массива с нецифровыми индексами добавлена проверка, которая предотвращает ошибки при обновлении представления и повышает надёжность;
  • Исправление ошибок:

    • ssr может некорректно отображать данные при многократном цикле;

    • input[type=file] не поддерживает атрибут multiple из-за проблемы с написанием;

    • если значение, связанное с input value, не определено, форма не будет автоматически преобразована в пустую строку;

    • и другие.

Это неполный перевод текста. В ответе сохранены форматирование и некоторые специальные символы. Новые возможности:

  • раскрытие нового API для удовлетворения потребностей в создании собственной системы рендеринга компонентов:
    • {Object} ExprType;
    • {Class} LifeCycle;
    • {ANode} parseTemplate({string} source);
    • {Object} parseExpr({string} source).

Новые возможности:

  • добавлена поддержка передачи сообщений в компонентах дерева.

Новые возможности:

  • поддерживается использование (?:) условного выражения.

Новые возможности:

  • добавлена поддержка вычисляемых свойств.

Новые возможности:

  • добавлена поддержка создания часто используемых тегов SVG.

Новые возможности:

  • с помощью строки 'self' можно ссылаться на себя как на дочерний компонент в свойстве components.

Новые возможности:

  • свойства template, filters, components, computed и static теперь поддерживаются в свойствах класса компонента.

Новые возможности:

  • класс и стиль, объявленные вне компонента, объединяются с корневым элементом компонента.

Новые возможности:

  • метод data.get поддерживает получение всех данных без параметров.

Оптимизация:

  • структура результатов анализа шаблона была оптимизирована:
    • предварительный анализ текста;
    • удаление лишних атрибутов из текстовых узлов: childs, binds, directives, events и т. д.;
    • вычисление фактических значений числовых и строковых выражений на этапе анализа;
    • объединение accessor и ident в accessor;
    • оптимизация структуры бинарных выражений, сохранение информации о типе, но не сохранение функции оператора.

Оптимизация:

  • процесс обновления представления был оптимизирован.

Оптимизация:

  • при вложении компонентов информация о привязке внешних дочерних компонентов не отображается в свойствах основного элемента дочернего компонента.

Оптимизация:

  • когда данные владельца изменяются, обновление данных внутренних дочерних компонентов становится более детализированным.

Оптимизация:

  • статические текстовые узлы, которые не требуют обновления, игнорируются.

Оптимизация:

  • улучшен способ обработки значения select и обработки свойства default value опции.

Оптимизация:

  • обработка событий DOM и пользовательских событий разделена, чтобы избежать неожиданного запуска событий из-за всплытия DOM.

Исправление ошибок:

  • некоторые самозакрывающиеся теги (например, br, hr) отображались неправильно.

Исправление ошибок:

  • события элементов могли быть привязаны дважды.

Исправление ошибок:

  • внешние события с тем же именем, что и у корневого элемента компонента, могут перекрывать события, связанные с компонентом.

Исправление ошибок:

  • если атрибут тега пуст, это может привести к ошибкам разбора.

Исправление ошибок:

  • префикс xxx- в имени атрибута тега удаляется.

Исправление ошибок:

  • атрибуты тега без значения (например, disabled) игнорируются.

Исправление ошибок:

  • ошибки вывода возникают, когда значение атрибута тега представляет собой многострочную строку.

Исправление ошибок:

  • в старых версиях IE фрагменты HTML были неправильно объединены.

Исправление ошибок:

  • при использовании $event в fire без параметров или ложных параметров для пользовательских событий компонента он будет получать событие DOM Event.

Исправление ошибок:

  • операции массива данных, ссылающиеся на индекс массива, могут не обновлять представление.

Исправление ошибок:

  • операции с массивом данных, ссылающиеся на длину массива, могут не обновить представление.

Исправление ошибок:

  • многократное изменение значения выражения if в одном цикле может вызвать ошибки обновления представления.

Исправление ошибок:

  • многократные изменения значения выражения for или внутренней структуры в одном цикле могут вызвать ошибки выполнения скрипта.

Исправление ошибок:

  • ref метод не может получить компоненты, расположенные внутри цикла for.

Исправление ошибок:

  • ref метод не может получить компоненты, находящиеся внутри слота.

Исправление ошибок:

  • начальное значение textarea не установлено правильно.

Исправление ошибок:

  • содержимое textarea отображается некорректно. В системе компонентов, управляемых данными, следует использовать связанные данные и игнорировать внутреннее содержимое.

Исправление ошибок:

  • ошибка скрипта возникает при обновлении значения элемента, который уже был удалён.

Исправление ошибок:

  • одиночный фильтр интерполяции не работает при привязке.

Исправление ошибок:

  • доступ к динамическим свойствам модели с родительским элементом может не дать ожидаемого результата.

Исправление ошибок:

  • двунаправленная привязка выражения, содержащая ссылку на элемент индекса, может не работать.

Исправление ошибок:

  • шаблон и компоненты компонента могут не компилироваться при наследовании, вместо этого используется результат компиляции родительского класса.

Исправление ошибок:

  • слот компонента в цикле, содержимое слота отображается неправильно.

Исправление ошибок:

  • во время компиляции дочернего компонента внешняя структура, переданная в качестве параметра, заменяется, и неожиданные результаты могут возникнуть при повторном рендеринге в среде слота.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/baidu-san.git
git@api.gitlife.ru:oschina-mirror/baidu-san.git
oschina-mirror
baidu-san
baidu-san
master