2016-05-20 4 views
11

У меня есть компонент, который определяет свойство imageUrl, и в моем шаблоне я использую это свойство для установки URL-адреса изображения. Я пробовал это, используя интерполяцию и используя привязку свойств, оба работают, но я не могу найти различий между ними или когда использовать один над другим. Кто-нибудь знает разницу?Разница между интерполяцией и привязкой свойств

<img [src]='imageUrl' > 

<img src= {{ imageUrl }} > 
+2

со свойством связывания установить атрибут с точным значением свойства, теперь с интерполяцией, вы можете смешать динамический контент от вашей модели в пределах строки, следовательно, интерполяция (например: 'SRC =" HTTP:// {{url}} "') –

+0

Да, как упоминалось ранее, привязка свойств не позволяет вам создавать шаблон/конкатенировать существующую строку, это должно быть точно. Но с интерполяцией вы можете создать шаблон вокруг того, что у вас есть. – inoabrian

ответ

17

Угловые вычисляют выражения в двойных фигурных скобках, преобразует результаты выражений в строки и сцепляет их с соседними строковыми литералами. Наконец, он присваивает этот составной интерполированный результат элементу или свойству/компоненту. - от https://angular.io/docs/ts/latest/guide/template-syntax.html#!#interpolation

Вложение свойств не преобразует результат выражения в строку.

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

1

Интерполяция использует {{выражение}} для визуализации связанного значения с шаблоном компонента. Интерполяция - это особый синтаксис, который Angular преобразует в привязку свойства

Пользователь привязки свойств [] отправляет значения из компонента в шаблон. Свойства Переплет: установить свойство элемента на значение данных нестроковых, вы должны использовать свойство связывания

Пример:

мы отключив кнопку, связываясь с булевым свойством isDisabled.

<button [disabled]='isDisabled'>Try Me</button> 

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

<button disabled='{{isDisabled}}'>Try Me</button> 

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

<button bind-disabled='isDisabled'>Try Me</button> 

 Смежные вопросы

  • Нет связанных вопросов^_^