使用继承的类作为控制器时的问题

主要依赖

  • angular 1.4.7

  • webpack 1.13.1

  • babel-loader 6.2.4

简述

  • B类继承自A类

  • A类注入了$timeout

  • B类除了$timeout之外还需要$state

  • B中使用$state时为undefined

代码

class A {  constructor ($timeout) {    'ngInject';    console.log('A');
  }
}class B extends A {  constructor ($timeout, $state) {    super($timeout);    console.log('B');    console.log($timeout);    console.log($state);
  }
}var app = angular
  .module('app', ['ui.router'])
  .controller('B', B);export default app.name;

webpack处理后

var A = function A($timeout) {  'ngInject';

  _classCallCheck(this, A);  console.log('A');
};
A.$inject = ["$timeout"];var B = function (_A) {  function B($timeout, $state) {

    _classCallCheck(this, B);    var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(B).call(this, $timeout));    console.log('B');    console.log($timeout);    console.log($state);    return _this;
  }  return B;
}(A);

考虑是babel对es6处理的导致请问哪位能够给我解释一下吗?


守着一只汪
浏览 717回答 1
1回答

慕田峪7331174

你确定你的问题是在ES6的继承上么?^^我怎么觉着就是你少了依赖:var app = angular     .module('myApp', ['ui.router'])     .controller('B', B);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript