Ich versuche eine Elternansicht (mit einem Controller) zu erstellen, die eine angularjs-Komponente hat. Die übergeordnete Ansicht liefert die Daten an die Komponente durch eine Zwei-Wege-Bindung (dies ist ein Ergebnis eines Web-Service, so dass die Daten ein JSON-Objekt sind). Ein Teil der Daten wird erneut von der Komponente an eine andere verschachtelte Komponente geliefert. Wenn ich jetzt die Daten in der verschachtelten Komponente durch ein Textfeld ändere, tritt folgende Ausnahme auf: angular.js: 13424 Fehler: [$ compile: nonassign] Ausdruck 'undefined' im Attribut 'attributDetailDto' verwendet mit der Anweisung 'catAuswertungsparameterBearbeitung' ist nicht -zuweisbar!angularJS 1.5 verschachtelte Komponenten
JS der Komponente
angular.module('catApp').component('catAuswertungsparameterBearbeitung', {
controller : CatAuswertungsparameterBearbeitungController,
templateUrl : 'resources/js/konfiguration/auswertungsparameter/catAuswertungsparameterBearbeitung.html',
bindings : {
attributDetailDto : '='
}
});
function CatAuswertungsparameterBearbeitungController($translate) {
var ctrl = this;
}
HTML der Komponente
...
<cat-textfeld min=1 max=50 wert="$ctrl.attributDetailDto.bezeichnung"></cat-textfeld>
...
JS verschachtelter Komponente cat-Textfeld
angular.module('catApp').component('catTextfeld', {
controller : MinMaxTextfeldController,
templateUrl : 'resources/js/fwk/catTextfeld.html',
bindings : {
wert : '=',
min : '@',
max : '@'
}
});
function MinMaxTextfeldController($translate) {
var ctrl = this;
HTML verschachtelter Komponente
<input type="text" class="textfeld" name="textfeld" ng-model="$ctrl.wert">
Haben Sie irgendwelche Ideen? Vielen Dank :)
auf diese Weise untergräbt ich tatsächlich etwas im Textfeld eingeben kann ohne Ausnahme, aber die attributDetailDto.bezeichnung wird nicht aktualisiert. – fuechsle