微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

角度 11 上的库生产构建失败:预期为 0 个参数,但得到 1 个

如何解决角度 11 上的库生产构建失败:预期为 0 个参数,但得到 1 个

我正在尝试使用 --prod 构建我的库,以便我可以发布它。

我收到以下错误

指令 SelectableRow,预期 0 个参数,但得到 1 个。

mycomponent.ts

from sklearn.metrics import f1_score,make_scorer

f1 = make_scorer(f1_score,average='micro')

grid = {'n_neighbors':np.arange(1,16),'p':np.arange(1,3),'weights':['uniform','distance'],'algorithm':['auto']
       }

knn = KNeighborsClassifier()
knn_cv = gridsearchcv(knn,grid,cv=3,verbose = 3,scoring= f1)
knn_cv.fit(X_train_res,y_train_res)

print("Hyperparameters:",knn_cv.best_params_)
print("Train score:",knn_cv.best_score_)
result_train["GridSearch-Best-Train"] = knn_cv.best_score_

根据primeng,这应该没问题。 引物示例:

 <p-table [value]="values"
             selectionMode="single">

      <ng-template pTemplate="body"
                   let-data>
        <tr [pSelectableRow]="data"> ---> HERE IS THE ERROR!!!
...

谢谢!

解决方法

我不知道您是否仍然有兴趣通过另一种方式来解决您的问题,这将允许您将 enableIvy 选项保持为 false,但这里是:

我正在开发一个 angular 库,其中包含与您完全一样的指令 pSelectableRow 的 primeng 表,当我转向 angular 11 时,我开始遇到与您相同的错误,而我的解决方案在

angularCompilerOptions:
  "angularCompilerOptions": {
    "enableIvy": false,"skipTemplateCodegen": true,"strictMetadataEmit": true,//"fullTemplateTypeCheck": true,<= The error was caused by that option
    "strictInjectionParameters": true,"enableResourceInlining": true,"flatModuleId": "AUTOGENERATED","flatModuleOutFile": "AUTOGENERATED"
  },
,

我刚刚升级到 Angular 11 并且遇到了同样的问题,代码以前运行良好。

首先,我认为应该是 [pSelectableRow]="rowData"。

其次,这个错误只发生在我第一次编译程序的时候。如果我对源文件进行了更改(添加一个空格并保存),并且一旦检测到更改后再次编译该程序,错误就会消失。

编辑:最后,我启用了 Ivy,问题就消失了。不要让我解释!

在 tsconfig.app.json 中:

"angularCompilerOptions": { “启用常春藤”:真 }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。