SAP 基于 ABAP 实现的 gateway 框架里,为什么默认返回100条数据?
【摘要】 答案就在这个参数里:skip=0&top=100ODataListBinding.js里,this.loadData的输入参数为100:this.oModel.iSizeLimit 为100:在 sap-ui-core-dbg.js里,同样能看到下面高亮出来的硬编码代码:this.iSizeLimit = 100;我基于 SAP Spartacus library创建了一个自定义的Store...
答案就在这个参数里:
skip=0&top=100
ODataListBinding.js里,this.loadData的输入参数为100:
this.oModel.iSizeLimit 为100:
在 sap-ui-core-dbg.js里,同样能看到下面高亮出来的硬编码代码:
this.iSizeLimit = 100;
我基于 SAP Spartacus library创建了一个自定义的Storefront实现。在其app.module.ts里,我采用自定义的MyCurrentProductService,去替换 SAP Spartacus 标准的CurrentProductService 实现:
通过AppComponent的构造函数引入OccCartAdapter的依赖:
启动应用,在解析并加载AppComponent时,检测到输入参数的CurrentProductService是通过 Angular 依赖注入提供的,因此执行getOrCreateInjectable 方法:
注意这里的token 指向class CurrentProductService:
而 CurrentProductService的实例化,发生在下图的代码位置。
其中1和2两处的token指向不一样:
第二处的token,已经指向自定义的product service了:
OccCartAdapter也可以通过同样的方式注入:
我在做SAP Cloud Application Programming 练习时,执行下列两条命令后:
- cds init bookshop
- cds watch bookshop
遇到这一条错误消息:
cannot find package module @sap/cds/common
npm install之后,问题解决,现在错误消失了:
@sap/cds/common 位于node_modules文件夹下,例子程序中的Currency,Country等类型和entity等等,就出自这个资源文件。
通过package.json里的dependencies: @sap/cds 引入:
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)