【发布时间】:2018-04-28 05:03:36
【问题描述】:
SAPUI5 中是否有类似 Angular 服务的概念?我需要将一个自定义服务(基本上是一个带有一些方法的类)注入另一个自定义类,并且我期望框架会自动实例化我的自定义服务,但是当我尝试使用它时,它是一个构造函数而不是对象。 被不必要的细节删减的代码在这里:
定制服务:
sap.ui.define([
"sap/ui/base/Object",
"ArA/model/productionOrdersDefinition/Order"
], function(Object, Order) {
"use strict";
return Object.extend("ArA.model.productionOrdersDefinition.InputProvider", {
constructor: function() {
},
onInit: function(){
this.order = new Order();
this.order.id = "0000133535";
// ...
},
getOrder: function(){
// ...
return this.order;
}
});
});
使用自定义服务的对象:
sap.ui.define([
"ArA/model/productionOrdersDefinition/BaseObject",
"ArA/model/productionOrdersDefinition/Order",
"ArA/model/productionOrdersDefinition/InputProvider"
], function(BaseObject, Order, InputProvider) {
"use strict";
return BaseObject.extend("ArA.model.productionOrdersDefinition.ManagerProgrammazione", {
constructor: function() {
BaseObject.call(this);
// this InputProvider is a constructor (method) and getOrder is not a function
var order = InputProvider.getOrder();
// ...
}
});
});
【问题讨论】:
标签: dependency-injection sapui5