2016-10-31 5 views
14

Kullanıcı farklı bir öğeyi tıklattığında bazı öğelere bir şeyler yapmak için bir işleyici yazıyorum.`#` özniteliği HTML'de ne yapar?

İlk başta aşağıdaki (Bu kullanıyor Angular2 ama sadece farklı onclick olay nasıl işleneceğini şüpheli) vardı:

 <span> 
      <input type="text" id="bioName"> 
     </span> 
     <span class="icon-pencil" (click)="editField(bioName);"></span> 

... ama bu işe yaramadı. Daha sonra giriş alanını farklı olarak tanımlayan bir örnek buldum ve bu benim için işe yaradı. Bu, aşağıdaki gibi olmuştur: Ne yazık ki bunu açıklayan bir şey bulamıyorum. HTML ve Javascript ile "hash" ve "pound" kelimelerinin aranması, bu alanda konuyla ilgisi olmayan çok fazla sonuç verir.

Bu durumda # ne yapar? id, olay işleyicisini ayarlarken DOM öğesine başvuru almak için kullanılamaz mı? Bu ne denir ki google onu yapabilir ve uygun belgeleri okuyabilir miyim?

cevap

10

Bu Angular2'ye özgü, normal HTML bu sözdizimini tanımıyor, yani CSS/JavaScript ile etikete erişmek için id="bioName"'u kullanmanız gerekiyor.

Here, Angular2'de #'un nasıl kullanıldığı hakkında daha fazla bilgi içerir.

5

Karma (#), Angular 2 şablonlarında şablon değişkeni tanımlamak için sözdizimidir. Daha sonra, bileşendeki şablon öğelerine bir başvuru almak için kullanabileceğiniz şablon öğelerine benzersiz tanımlayıcılar atamak için kullanılır. Örneğinizde, örneğin, bileşeninizdeki giriş öğesine bir başvuru almak için bioName değişkenini kullanabilir ve burada istediğiniz her şeyi yapabilirsiniz - dosya adı, dosya boyutu ve hatta dosya alın. Bu ViewChild decorator. kullanılarak yapılır answer Birkaç gün önce yazdım ve en çok hangi şablon değişkenlerinin kullanıldığını gördüm.