如何在“对话”列表中访问JSON模型中的值?

问题描述 投票:1回答:1

我在UI5中从ajax调用中检索了一个JSON模型,但我无法访问其成员。我见过人们做类似事情的例子,但这对我不起作用。这是我的代码:

onSumbmitFlowGAkQ: function () {
            var oParameters = {
                "value": this.getView().byId("flowInputGAK").getValue()
            };

            $.ajax({
                url: "private url",
                type: 'POST',
                data: JSON.stringify(oParameters),
                contentType: 'application/json',
                success: function (data) {
                    this.getView().setModel(new JSONModel(data), "guidedAssistanceGAK");
                    this.setUpDialog();
                }.bind(this),
                error: function (e) {
                    MessageToast.show(e.status);
                }
            });

setUpDialog: function () {
            var lst = new List({
                items: {
                    path: "guidedAssistanceGAK>/flow",
                    template: new StandardListItem({
                        title: "{guidedAssistanceGAK>value}",
                        counter: "{guidedAssistanceGAK>ID}"
                    })
                }
            });
            var dialog = new Dialog({
                title: "choose one",
                content: lst,
                beginButton: new Button({
                    text: "OK",
                    press: function () {
                        dialog.close();
                    }
                }),
                afterClose: function () {
                    dialog.destroy();
                }
            });
            dialog.open();
            //this.oEditor.oRichTextEditor.setValue(this.getView().getModel("guidedAssistanceGAK").getProperty("/flow"));
        },

我使用语法“guidedAssistanceGAK> / flow”来访问数据,但它无法正常工作。我认为这是一个绑定错误。我想知道这样做的正确方法是什么。

sapui5
1个回答
1
投票

新对话框看起来不是视图的一部分,而视图是模型所在的位置。您可以执行this.getView().addDependent(dialog),也可以将模型附加到dialog.setModel的对话框中。

© www.soinside.com 2019 - 2024. All rights reserved.