angularjs 1.5 中组件控制器中的访问解析

access resolve in component controller in angularjs 1.5

我正在尝试将解析值绑定到 angularjs 1.5 组件,但没有成功。在状态定义中,我已将模板属性的通用值替换为新组件名称的值。像这样:

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

NewEventslog 是一个注入我的一项服务的函数

newEventslog.$inject = ['EventslogsService'];

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

在我的控制器中,我尝试了几种方法,但没有任何效果

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

但是 vm.eventslog 总是导致未定义的值,我的方法有什么问题?如果我在绑定中使用“@”而不是“<”,vm.addevent 会导致值为“的字符串$resource.addevent" 而不像 newEventslog 函数的实例。

我正在使用 ui-路由版本 0.2.18

不确定,但在组件内部试试这个

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