-1

我正在尝试使用 SAPUI5 构建应用程序。现在,我有一个页面,其节点以树的形式列出,并且在中心有一个导航框架。我想根据树中选择的节点在导航框架中加载各种页面。

我尝试通过以下方式处理 JS 事件,但它似乎不起作用。

function Tree_Click(oControlEvent){
    alert(oControlEvent.getParameters.node);
}

// Create the Tree control for the MENU block
var MenuTree = new sap.ui.commons.Tree("MenuTree", {select : Tree_Click});
MenuTree.setTitle("Home");
MenuTree.setWidth("100%");
MenuTree.setHeight("auto");
MenuTree.setShowHeaderIcons(true);
MenuTree.setShowHorizontalScrollbar(false);
//create Tree Nodes
var Node1 = new sap.ui.commons.TreeNode("Node_fruit", {
    text: "Fruit",
    expanded: true
});
var Node2 = new sap.ui.commons.TreeNode("Node_veg", {
    text: "Vegetables",
    expanded: true
});
var Node1_1 = new sap.ui.commons.TreeNode("Node_app", {
    text: "Apple",
}); 
var Node2_1 = new sap.ui.commons.TreeNode("Node_carr", {
    text: "Carrot",
});

Node2.addNode(Node2_1);
Node1.addNode(Node1_1);

// Add Tree Node root to the Tree
MenuTree.addNode(Node1);
MenuTree.addNode(Node2);

MenuTree.placeAt("menu_tree");

警报似乎又回来了undefined
我在这里做错了什么?

4

3 回答 3

4

尝试:

alert(oControlEvent.getParameter("node"));
于 2013-02-07T09:13:42.653 回答
3

oControlEvent.getParameters().node

oControlEvent.getParameters不带括号的是函数指针,不是函数调用的返回值...

于 2013-02-07T19:59:14.153 回答
0

仅供参考:您可以从传递的事件对象中提取更多信息:

var oNode = oEvent.getParameters().node;
var nodeId = oNode.sId; //eg "Node_fruit"
var msg = oNode.getProperty("text");   //eg "fruit"
alert("Node id: <" + nodeId + "> \n"+"Node property (text): <"+msg+">");
于 2014-03-03T12:51:38.603 回答