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

时间:2016-12-23 15:04:55

标签: javascript angularjs angularjs-scope angular-ui-router angularjs-components

我试图将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总是导致一个未定义的值,我的aproach出了什么问题?,如果我使用“@”代替“&lt;”在绑定中,vm.addevent会生成一个值为“$ resource.addevent”的字符串,而不是newEventslog函数的实例。

我使用的是ui-route版本0.2.18

1 个答案:

答案 0 :(得分:2)

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

source.i