是否有可能创建一个sap.ui.controller这样的:即时创建一个UI5 - 控制器
sap.ui.controller("controllerId", "{onAfterRendering: function(){}}");
用例是,我有上飞创建了一个控制器的服务器, 如果需要的话。
当我拿到逻辑字符串,并尝试使用它这样的:
var oView = sap.ui.view({
type: sap.ui.core.mvc.ViewType.JSON,
viewContent: viewContent,
controller: sap.ui.controller("controllerId", "{onAfterRendering: function(){}}")
});
控制器总是未定义。
有关该主题的任何提示?
编辑2:
蒂莫西·格鲁特更新的答案后:
是的,我发的AJAX调用服务器。我已经试过了现在:
var ajaxAnswer = 'sap.ui.controller("testForm", { oView: null, onAfterRendering: function(oEvent){oView = oEvent.getSource();} });'
eval('var controller =' + ajaxAnswer);
但controller
是不确定。
编辑:
根据答案,我想我需要使它更加清晰:
这部分"{onAfterRendering: function(){}}"
来自服务器为一个字符串。我无法删除该字符串中的任何引号。我可以用JSON.parse()
解析它,但是不能解析一个函数。
这突然成了比我想象的更好的问题。不挂断。 –
请参阅更新的答案。 –