【问题标题】:access resolve in component controller in angularjs 1.5在 angularjs 1.5 中的组件控制器中访问解析
【发布时间】:2017-05-09 07:03:25
【问题描述】:

我正在尝试将解析值绑定到 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 总是导致一个未定义的值,我的方法有什么问题?,如果我在绑定中使用“@”而不是“

我使用的是 ui-route 版本 0.2.18

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-23
      • 2016-12-15
      • 2017-07-27
      • 1970-01-01
      • 2017-01-25
      • 1970-01-01
      • 2017-11-25
      • 2023-04-09
      相关资源
      最近更新 更多