8

Oto dyrektywa stworzyłem:angularjs: Dyrektywa - Przechodząc ciągi bez konieczności używania cytatów

HTML:

<p-test something="'bla'"></p-test> 

JavaScript:

.directive('pTest', function() { 
    return { 
     scope: { 
      something: '=?' 
     }, 
     templateUrl: 'components/testTemplate.html', 
     controller: 'testController' 
    }; 
}); 

Chciałbym, aby móc przekazać "bla" jako ciąg bez znaku ", w następujący sposób:

<p-test something="bla"></p-test> 

Wiem, że jest to możliwe za pomocą parametru atrybutu w linku, ale w tym przypadku nie ma to znaczenia (popraw mnie, jeśli się mylę), ponieważ przekazuję te parametry bezpośrednio do zakresu.

Odpowiedz

14

Chciałbym być w stanie przejść „bla” jako ciąg bez „”, w następujący sposób:

byłoby wystarczy wiążący tekst (@) Wiązanie dla że zamiast 2 sposób wiążący.

.directive('pTest', function() { 
    return { 
     scope: { 
      something: '@?' //<-- Here 
     }, 
     templateUrl: 'components/testTemplate.html', 
     controller: 'testController' 
    }; 
}); 

oraz z powiązaniem tekstu, jeśli chcesz powiązać właściwości zakresu, użyj interpolacji. tj przykład jeśli bla jest zmienny zakres trzyma łańcuch potem po prostu zrobić:

<p-test something="{{bla}}"></p-test> 

Plnkr

+0

dowiedział się czegoś nowego, dzięki. –

+1

Musiałem czekać 10 minut, aby to zrobić, a następnie zapomniałem. Proszę bardzo. –

+0

Dziękujemy! wiem, że mogę podać wartości elementom w szablonie! – Herman

Powiązane problemy