将evenhandler附加到在控制器

时间:2017-01-05 11:02:05

标签: jquery sapui5

我有一个工厂函数来填充表格中的行。对于每一行,我创建一个ColumnListItem,在其中我为每个单元格创建一个Icon。这很好用。

但是我无法附加“命名”功能。当我点击图标时,我收到错误“对象不支持属性或方法'调用'”。 谁能指点我怎么做?我需要一个命名函数,因为我不想为每个Icon重复代码。

我猜问题是因为“这个”控制器内部不可用。我是对的吗?

以下是我在控制器中的工厂方法和eventhandler方法 -

    populateItems1 : function(sId, oContext) {
            var row = new ColumnListItem(sId, {
                cells : [ new Icon({
                    src : {
                        path : "row>col",
                        formatter : function(value) {
                            switch (value) {
                                case "1":
                                    return "sap-icon://sys-cancel";
                                                            default:
                                    return "sap-icon://sys-help"; 
                            }
                        }
                    },
                    color : {
                        path : "row>col",
                        formatter : function(value) {
                            switch (value) {
                                case "1":
                                    return "Critical";
                                default:
                                    return "black";
                            }
                        }
                    },
                    size : "1.5em",
                    press: ".onIconPress"  // this does not work 
                }) ]
            });

            return row;
        },

onIconPress : function(oEvent) {
            console.log("Info : ");
        }

干杯, SHAILESH

1 个答案:

答案 0 :(得分:0)

我自己可以修理它。在尝试一些非常明显和基本的东西之前我发布它太早了:

press: [this.onIconPress]

我错误地附上了它。