builder.parse () с привязкой контекста - PullRequest
0 голосов
/ 10 июня 2019

У меня есть следующий код:

  private loadSlides(): Promise<any> {
    return new Promise((resolve, reject) => {
      const component = builder.parse(slideTemplate);
      component.bindingContext = {
        content: 'HHAHAAHA'
      };
      resolve(component);
    });
  }

, и это значение для slideTemplate:

export const slideTemplate: string = `
  <GridLayout row="0" rows="*, 2*, *">
      <GridLayout width="57%" row="0" horizontalAlignment="center" verticalAlignment="center">
          <Label class="lobster-regular carousel-item-head" [text]="content" textWrap="true"></Label>
      </GridLayout>
  </GridLayout>
`;

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

Почему это так?

1 Ответ

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

Нельзя использовать угловой шаблон / синтаксис привязки с builder.parse(...), он создан вне контекста Angular.

Поскольку вы используете bindingContext, который является NativeScript Core для обработки привязки данных, вы должны использовать text="{{ content }}"

export const slideTemplate: string = `
  <GridLayout row="0" rows="*, 2*, *">
      <GridLayout width="57%" row="0" horizontalAlignment="center" verticalAlignment="center">
          <Label class="lobster-regular carousel-item-head" text="{{ content }}" textWrap="true"></Label>
      </GridLayout>
  </GridLayout>
`;

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

...