2013-02-06 71 views
0

我正嘗試使用SAPUI5構建應用程序。現在我有一個頁面,其中節點列爲樹,中心處爲導航框。我想根據樹中選定的節點加載導航框架中的各種頁面。我試圖通過以下方式處理JS事件,它似乎沒有工作。SAPUI5中的事件處理 - 樹控件

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"); 

該警報似乎返回'未定義'。 我在這裏做錯了什麼?

謝謝。

回答

3

oControlEvent.getParameters().node

oControlEvent.getParameters沒有括號是一個函數指針,而不是函數調用的返回值...

0

FYI:

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+">"); 
:您可以從傳入事件對象中提取更多信息