【发布时间】:2016-10-17 04:14:09
【问题描述】:
在我们的一个系统中,我们有很多与 UI 相关的 javascript 来处理菜单操作,如下所示
var menuActions = {
"edit-profile": {
Title: "rs_edit_profile",
Action: function(callback){
//some logic here to handle the UI
},
HasPermission: true
},
"delete-profile": {
Title: "rs_edit_profile",
Action: function(callback){
//some logic here to handle the UI
},
HasPermission: true
},
"create-profile": {
Title: "rs_edit_profile",
Action: function(callback){
//some logic here to handle the UI
},
HasPermission: false
}
}
这与switch/if 一起使用,例如
if(menuAction[actionName] === "edit profile")... 然后调用menuActions[actionName].Action()。
我们现在正在将系统转换为 TypeScript,这对我们来说是全新的,我一直在思考如何最好地重新组织和转换这段特定的代码。
我现在不喜欢用 javascript 完成它的方式,所以如果可能的话,我想借此机会在转换为 typescript 的同时将其更改为更好的东西。
我的直觉说我应该从一个类中收集MenuAction 实例,但我不确定如何实现它然后使用它。
我应该完全不使用类,而只使用数组中的普通对象吗?
(知道这是 Angular 1.X 视图控制器的代码可能会有所帮助。
【问题讨论】:
-
我知道我在回答中问过这个问题,但就目前而言,您的示例不是有效的 javascript。它看起来像一个关联数组,但它们是由基本对象实现的,而不是数组。考虑编辑您的示例(并可能更新标题),以便您的 js 有效。
标签: javascript typescript