Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

198
Visualizações
Angular 2: Difference between property binding with and without brackets?

I noticed it's possible to property bind stuff without brackets. What is the difference?

Typescript:

import { Component, Input } from '@angular/core';

@Component( {
    selector: 'my-comp',
    templateUrl: `
    input is {{foo}}
  `

})
export class myComponent {
    @Input() public foo: string;

    constructor() { }
    }

HTML:

Case 1

<my-comp [foo]="bar"></my-comp>

Case 2

<my-comp foo="bar"></my-comp>
about 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

In general, we can say that we should use bindings without brackets only when we have a fixed string property:

From the docs:

You should omit the brackets when all of the following are true:

  1. The target property accepts a string value.
  2. The string is a fixed value that you can bake into the template.
  3. This initial value never changes.

You routinely initialize attributes this way in standard HTML, and it works just as well for directive and component property initialization.

When setting an element property to a non-string data value, you must use property binding.

All in all, that means that the value on the right only gets interpreted when using brackets. You can remove the brackets whenever you see quotes in quotes on the right: [anyStringProperty]="'hello'" can be changed to anyStringProperty = "hello".

So, property binding without square brackets is possible as long as we also omit the single quotation marks between the double quotation marks when passing down a string.

about 4 years ago · Santiago Trujillo Relatório

0

There are some Cases where we need to add like this html attributes dynamically might be and example which comes json from api request

Case 1 [] known as Property Binding

<my-comp [foo]="data.bar"></my-comp>

Case 2 {{ }} known as Interpolation

<my-comp foo="{{data.bar}}"></my-comp>

Case 3 Conditional handling

<my-comp [attr.foo]="data.bar ? true : false"></my-comp>

Both {{ }} called as Interpolation and [] called as Property Binding means angular understand that there is One-way from data source to view target.

For more visit www.codementor.io

about 4 years ago · Santiago Trujillo Relatório

0

Here is brief description of all situation:

When you use square brackets, the right hand side is an expression. When you use no brackets at all, the right hand side is a constant.

So will assign 'constant' string to my-tag's input. To achieve the same effect with square brackets: notice the single quote inside. If you didn't put single quote there, my-tag's input will be tied to its parent component's (where you write this template) property or template variable (like ngFor's let-constant for example) named "constant".

form here What is the difference between property binding and just a regular attribute

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda