2015-08-05 10 views
7

voglio definire una variabile locale in un tag di ingresso per un 2 applicazione angolare:Prevenire Jade di aggiungere una clausola di incarico in un elemento HTML

input(#sometext) 
button((click)="addTechnology(sometext.value)") Add 

L'output che mi aspetto è:

<input #sometext/> 
<button (click)="addTechnology(sometext.value)">Add</button> 

Tuttavia la vera uscita è (notare l'ulteriore ="#sometext"):

<input #sometext="#sometext"/> 
<button (click)="addTechnology(sometext.value)">Add</button> 

Questa wa y, angolare 2 tiri il seguente errore, molto probabilmente a causa di che ="#sometext":

Cannot find directive with exportAs = '#sometext' 

Error: Cannot find directive with exportAs = '#sometext' 
    at new BaseException (https://code.angularjs.org/2.0.0-alpha.28/angular2.dev.js:7248:25) 
    at _findDirectiveIndexByExportAs (https://code.angularjs.org/2.0.0-alpha.28/angular2.dev.js:12454:13) 
    at https://code.angularjs.org/2.0.0-alpha.28/angular2.dev.js:12435:22 
    at Map.forEach (native) 
    at Function.execute.MapWrapper.forEach (https://code.angularjs.org/2.0.0-alpha.28/angular2.dev.js:7614:15) 
    at createDirectiveVariableBindings (https://code.angularjs.org/2.0.0-alpha.28/angular2.dev.js:12434:16) 
    at _createProtoElementInjector (https://code.angularjs.org/2.0.0-alpha.28/angular2.dev.js:12414:39) 
    at _createElementBinders (https://code.angularjs.org/2.0.0-alpha.28/angular2.dev.js:12391:34) 
    at _createAppProtoView (https://code.angularjs.org/2.0.0-alpha.28/angular2.dev.js:12331:5) 
    at https://code.angularjs.org/2.0.0-alpha.28/angular2.dev.js:12641:32 

Sapete alcun modo per impedire Jade di completare l'attributo con l'ulteriore ="#sometext"?

+0

Probabilmente è il numero # –

+0

Secondo il documento https://angular.io/docs/js/latest/guide/user-input.html questo è il modo di definire una variabile, non è vero? – codependent

+1

Il problema è il maiuscolo. Il browser lo converte in caratteri minuscoli prima delle compilazioni angolari e non c'è nulla che possano fare al riguardo. Cambiarlo in '# sometext'. Vedere questo https://github.com/angular/angular/issues/1447 –

risposta

8

Alla fine era semplice come usare doctype html all'inizio del modello Jade. L'ho avuto nel layout principale ma sembra che anche i file inclusi ne abbiano bisogno.

+0

che diamine! Perché funziona? – nycynik

+0

chi lo sa ??? XD – codependent