-1

aufgelöst Ich versuche, an eine angularjs 1.5-Komponente einen Auflösungswert ohne Erfolg zu binden, In der Zustandsdefinition habe ich den allgemeinen Wert der Vorlage Eigenschaften durch einen Wert des Namens meines neuen ersetzt Komponente. wie folgt aus:Zugriff in Component Controller in Angularjs 1.5

.state('eventslogs.create', { 
     url: '/create', 
     template: '<addevent data="$resolve.addevent"></addevent>.', 
     resolve: { 
      addevent: newEventslog 
     }, 
     data: { 
      roles: ['admin'], 
      pageTitle: 'Eventslogs Create' 
     } 
     }) 

NewEventslog ist eine Funktion, die eine meiner Dienste einspritzt

newEventslog.$inject = ['EventslogsService']; 

    function newEventslog(EventslogsService) { 
    return new EventslogsService(); 
    } 

In meinem Controller ich mehrere Möglichkeiten ausprobiert, aber nichts funktioniert

angular.module('eventslogs') 
    .component('addevent', { 
    templateUrl: 'addevent.client.component.view.html', 
    bindings: { 
     data: '<' 
    }, 
    controller: function($scope, $element) { 
     var vm = this; 
     vm.eventslog = vm.data; 
    } 

Aber vm.eventslog immer ergibt einen undefinierten Wert, was stimmt nicht mit meiner Vorgehensweise ?, Wenn ich in Bindings "@" anstatt "<" verwende, führt vm.addevent zu einer Zeichenfolge mit dem Wert "$ resource.addevent" und nicht wie ein i nstance der Funktion newEventslog.

I Version ui-Route 0.2.18

Antwort

2

nicht sicher bin mit aber versuchen, dies innerhalb der Komponente

this.$onInit =() => { 
    vm.eventslog = vm.data; 
} 
+0

Thank you @ Dimson-d diese einwandfrei funktioniert – xzegga

Verwandte Themen