我知道您正在想出一种让小组进行交流的方式。在那之前,我一直在想我可以通过偏好对象进行一些基本的交流。
但我如何找到应用所在仪表板的唯一 ID?
如果可能有比通过首选项对象共享信息更好的解决方案,让我描述一下我们想要解决的具体问题:我们项目结构中的某些项目代表我们要为其显示“指标仪表板”的“程序” “-- 该仪表板将由共享仪表板上的多个应用程序组成。但是在拉力赛项目层次结构中,程序的级别并不一致,虽然我们有很多拉力赛项目,但我们只有大约四个程序。
因此,我希望这个代码指标仪表板成为 Rally 中的一个页面,它可以在我们拥有的各种程序之间轻松切换。我宁愿不使用项目层次结构来执行此操作,因为我们有很多项目,查找和选择程序既费时又棘手。
最佳答案
我修改了示例以创建一个可以在两个面板之间传递事件的应用示例。 目前这是非常不受支持的,我们保留在没有任何警告的情况下随时破坏它的权利。
也就是说,您可以看到当前不受支持的获取 Apps ID 的方式,如果您制作此 App 的两个副本,您可以在控制台中看到 Apps 在全局 Rally 消息总线上通信的结果。
你可以找到它的要点here
<!DOCTYPE html>
<html>
<head>
<title>My Custom App</title>
<!--Include SDK-->
<script type="text/javascript" src="/apps/2.0p/sdk.js"></script>
<!--App code-->
<script type="text/javascript">
Rally.onReady(function() {
Ext.define('CustomApp', {
extend: 'Rally.app.App',
componentCls: 'app',
mixins:['Rally.Messageable'],
launch: function() {
var brokenInTheFutureIdThatWillWorkForNow = Ext.Object.fromQueryString(window.location.href);
window.parent.Rally.Messages.subscribe("test",function(){console.error(brokenInTheFutureIdThatWillWorkForNow.panelOid,arguments);});
window.parent.Rally.Messages.publish("test",brokenInTheFutureIdThatWillWorkForNow.panelOid);
//Write app code here
}
});
Rally.launchApp('CustomApp', {
name: 'My Custom App'
});
});
</script>
<!--App styles-->
<style type="text/css">
.app {
/* Add app styles here */
}
</style>
</head>
<body class="myApp">
</body>
</html>
关于javascript - 提供穷人的仪表板应用程序通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10775358/