TL; DR; - Il problema è che gli attributi sono snake-case e la definizione dell'ambito li trasforma in camelCase.
bene bisogna:
app.directive('childOne', function() {
return {
restrict: "E",
replace: true,
scope: {
labelName: "@",
selectPhrase: "@",
ngModel: "=",
options: "=",
},
template: '<span><div class="local-label">{{labelName}}: </div><div style="width:15px;display:inline-block;"></div>' +
'<span style="display: inline-block;"><select ng-model="ngModel" ng-options="o.Id as o.Name for o in options | orderBy:\'Name\'" class="formRequire" required><option value="" selected="selected">{{selectPhrase}} ...</option></select>' +
'</span></div></span>'
};
})
Il problema è che si associa ngModel ma l'elemento figlio-one non fornisce un valore per esso. Se commento quella parte sembra funzionare bene.
Sembra che quando si dispone di "=" attacchi del perimetro significa obbligatorio, anche gli attributi si trasformano da serpente caso a camelCase quando definito in javascript mondo
PS: E ' vero l'errore è un po 'vago
fonte
2013-04-30 15:59:06
Grazie Liviu, davvero non avrei dovuto usare quel plunker perché non l'ho creato così non ho potuto modificarlo. Ho cambiato il plunker in modo da poter mostrare la correzione. – Bye
Grazie amico per le modifiche alle trasformazioni di camelCase. nel mio caso, il nome dell'attributo con underscore era il problema. –
C'è un modo per risolvere questo problema in modo che non sia non assegnabile? – ajbraus