未处理的承诺拒绝:无法解析所有参数

时间:2017-02-20 00:29:46

标签: angular typescript sharepoint

我正在构建一个SPFx angular 2组件,它有一个嵌套的子组件。子组件需要引用当前上下文,但如果我这样做:

import {
  IWebPartContext
} from '@microsoft/sp-webpart-base';

constructor(context: IWebPartContext) {

我明白了:

  

未处理的承诺拒绝:无法解析...的所有参数

或者,如果我这样做:

constructor(@Inject(context) context: IWebPartContext) {

我明白了:

  

SPComponentLoader.loadComponent:错误:***无法加载入口点   来自组件“ffaa6a0e-9eba-40a0-bec5-226d1db53caf”   (RequirementsFormWebPart)。 DefaultLogHandler.error @   DefaultLogHandler.js:15 Log.error @ Log.js:19(匿名)@   SPSystemJsComponentLoader.js:225 TraceLogger.js:69   [1487550303166] [Shell.ClientSideWebPartManager]   [SPWebPartErrorCode.ScriptLoadError] ::无法加载Web部件   WebPart.RequirementsFormWebPart.7a18b99b-78ca-4d0e-b087-189bbe751b7d,错误:   ***组件“ffaa6a0e-9eba-40a0-bec5-226d1db53caf”(RequirementsFormWebPart)失败。原始错误:加载错误   https://component-id.invalid/ffaa6a0e-9eba-40a0-bec5-226d1db53caf_0.0.1   脚本资源由于:undefined。 CALLSTACK ::错误

有什么想法吗?

此致

2 个答案:

答案 0 :(得分:0)

解决方法是不注入,而只需要实例化。

      public context: IWebPartContext;

      constructor() {
        this.model = new TaxonomyModel(this.context);
      }

答案 1 :(得分:0)

我在使用SPFx和Angular5时遇到了同样的问题。在tsconfig.js里面添加这个解决了我的问题。 “ emitDecoratorMetadata”:是,

参考:- Angular 2 - Can't resolve all parameters for component: (?)