我正在构建一个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 ::错误
有什么想法吗?
此致
本
答案 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: (?)