Удаление одинарных кавычек вокруг свойств пониженного углового компонента 2 вызывает странное поведение - PullRequest
1 голос
/ 20 июня 2019

У меня есть пониженный компонент angular 2, который прекрасно работает в компоненте AngularJS, пока я не удалю одиночные кавычки вокруг второго свойства компонента.

EDIT: Этот тип файла, в котором используется этот компонент, - это ng.jade.

Это работает:

user-score-component(
  [rating-score]="user.ratingScore"
  '[form-is-disabled]'="false"
  '(on-change)'="onRatingScoreChange($event)"
)

Это не:

user-score-component(
  [rating-score]="user.ratingScore"
  [form-is-disabled]="false"
  '(on-change)'="onRatingScoreChange($event)"
)

Во втором примере false применяется к rating-score, а form-is-disabled не определено,Я в порядке, оставляя одинарные кавычки около form-is-disabled, но после некоторых исследований гибридных приложений я не смог выяснить, что здесь делают одиночные кавычки.

Зачем они нужны во втором свойстве (form-is-disabled) но не первый (rating-score)?

1 Ответ

0 голосов
/ 20 июня 2019

На github есть упоминание в трекере Pug: https://github.com/pugjs/pug/issues/2050

Это сложный случай для решения.Например:

input(foo='foo' [bar]='bar') //- since 'foo' [bar] is equivalent to
'foo'[bar] input(foo='foo'[bar]='bar') //- which is equivalent to
input(foo=('foo'[bar]='bar')) //- which is equivalent to
input(foo='bar')

input([foo]='foo' (bar)='bar') input(foo='foo'(bar)='bar')
input(foo=('foo'(bar)='bar')) //- 'foo'(bar)='bar → assigning to
rvalue ?

Обходной путь, который вы можете использовать, заключает в кавычки имена атрибутов:

input('[foo]'='foo' '[bar]'='bar') input('[foo]'='foo' '(bar)'='bar')

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

...