我不是 Appframework 专家,但这是我想出的最简单的解决方案:
由于您使用的是单页应用程序,因此您可以将当前选定的项目存储在全局数据结构中:
<script type="text/javascript">
var dialogData = {
"currentItemNo": -1,
// possibly other dialog data
};
</script>
然后在您的 HTML 中,您可以像这样设置它:
<li>
<a href="#detailpanel" onclick="dialogData.currentItemNo=3">Item 3</a>
<li>
并在用户导航到页面时访问它:
<script type="text/javascript">
$("#detailpanel").bind("loadpanel", function () {
console.log("You clicked " + dialogData.currentItemNo);
});
</script>
请注意,点击处理程序和AF 的锚点处理程序都被调用(首先是点击处理程序)。
如果您的列表是从模板生成的,您可能希望使用更优雅的解决方案来访问当前项目编号:
<li>
<a href="#detailpanel" data-itemno="3" onclick="dialogData.currentItemNo=this.dataset.itemno">Item 3</a>
<li>