点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好,
我想在sapui5应用程序中显示消息程序,当打印onSave或启动init函数时。 但我总是在控制台中出错,messageToast无法正常工作。
控制台中的错误消息:
未捕获(承诺)TypeError:MessageToast.show不是函数
这是我的controller.js:
sap.ui.define(['sap/ui/core/mvc/Controller', 'timeTrackertimeTracker/controller/BaseController', 'sap/ui/model/json/JSONModel', " sap/m/MessageToast", " sap/ui/model/odata/ODataModel", " sap/ui/core/routing/History" ], 函数(控制器,BaseController,MessageToast,JSONModel,ODataModel,历史记录){ "使用严格"; //全局变量 //var _oController,oModel,oView; var Calendarcontroller = BaseController.extend(" timeTrackertimeTracker.controller.Calendarform",{ /* ================================================ ========== */ /*生命周期方法*/ /* ================================================ ========== */ onInit:function(){ //存储控制器对全局变量的引用 this.getRouter()。getRoute(" Calendarform")。attachPatternMatched(this._onRouteMatched,this); MessageToast.show(" init"); }, /* ================================================ ========== */ /*事件处理程序*/ /* ================================================ ========== */ _onRouteMatched:function(){ //注册元数据加载事件 var oModel = this.getModel(" appointments"); oModel.metadataLoaded()。then(this._onMetadataLoaded.bind(this)); }, _onMetadataLoaded:函数(){ //创建默认属性 var oProperties = { ID:" Id" + parseInt(Math.random()* 1000000000) /*持续时间:"", 休息时间: "", 标题:"", 开始时间: "", 时间结束: "", 说明:"" */ }; //在模型中创建新条目 this._oContext = this.getModel(" appointments")。createEntry("/img/appointments",{ 属性:oProperties , 成功:this._onCreateSuccess.bind(this) }); //将视图绑定到新条目 this.getView()。setBindingContext(this._oContext," appointments"); }, onSave:function(oEvent){ //将视图绑定到新条目 //this.getView().setBindingContext(this._oContext); this.getModel(" appointments")。submitChanges(); }, _onCreateSuccess:函数(oEvent){ //导航到新产品的对象视图 this.getRouter()。navTo(" AppointmentsList",true); //取消绑定视图以不再显示该对象 this.getView()。unbindObject(); //显示成功消息 /* var sMessage = this.getResourceBundle()。getText(" newObjectCreated",[oEvent.Id]); MessageToast.show(sMessage,{ closeOnBrowserNavigation:false }); */ }, /* _onCreateSuccess:函数(oAppointment){ //显示成功消息 var sMessage = this.getResourceBundle()。getText(" newObjectCreated",[oAppointment.Title]); MessageToast.show(sMessage,{ closeOnBrowserNavigation:false }); }, */ onCancel:function(){ this.onNavBack(); //this.getView().getModel("appointments").deleteCreatedEntry(this._oContext); }, /** *用于返回的事件处理程序。 *检查是否有历史记录条目。 如果是,history.go(-1)将发生。 *否则,它将用工作清单路由替换浏览器历史记录的当前条目。 * @上市 */ onNavBack:function(){ /* var oRouter = sap.ui.core.UIComponent.getRouterFor(this); oRouter.navTo(" AppointmentsList"); */ var oHistory = History.getInstance(), sPreviousHash = oHistory.getPreviousHash(); //从模型中丢弃新产品。 this.getModel(" appointments")。deleteCreatedEntry(this._oContext); 如果(sPreviousHash!==未定义){ //历史记录包含上一个条目 history.go(-1); }其他{ //否则我们将向前追溯历史 var bReplace = true; this.getRouter()。navTo(" AppointmentsList",{},bReplace); } } }); 返回Calendarcontroller; });
hi
此
应为
谢谢
-D
您好,
请更改您的控制器的定义:
有效,谢谢!一周热门 更多>