我不确定这是否可能,或者如果我采取了错误的方法,我已经尝试过搜索,但我不确定这些条款。
我想将一个变量传递给控制器dict,所以不是使用'PLAY',而是在查找中我可以做类似控制器的事情('OPTION','PLAY')
var ip = '192.168.1.5'
var Keys = {
HOME: '/keypress/Home',
REV: '/keypress/Rev',
FWD: '/keypress/Fwd',
PLAY: '/keypress/Play',
SELECT: '/keypress/Select',
LEFT: '/keypress/Left',
RIGHT: '/keypress/Right',
DOWN: '/keypress/Down',
UP: '/keypress/Up',
BACK: '/keypress/Back',
INSTANTREPLAY: '/keypress/InstantReplay',
INFO: '/keypress/Info',
BACKSPACE: '/keypress/Backspace',
SEARCH: '/keypress/Search',
ENTER: '/keypress/Enter',
A: '/keypress/Lit_a'
}
来自:
var controller = {
PLAY:{
hostname: ip,
port: 8060,
path: Keys['PLAY'],
method: 'POST'
}
}
到此:
var controller = {
OPTION:{
hostname: ip,
port: 8060,
path: Keys[Key],
method: 'POST'
}
}
我正在努力避免以下
var controller = {
PLAY:{
hostname: ip,
port: 8060,
path: Keys['PLAY'],
method: 'POST'
}
FWD :{
hostname: ip,
port: 8060,
path: Keys['FWD'],
method: 'POST'
}
REV :{
hostname: ip,
port: 8060,
path: Keys['REV'],
method: 'POST'
}
...
}
答案 0 :(得分:2)
你想到这样的事情:
controller = {
OPTION : function(key){
return {
hostname: ip,
port: 8060,
path: Keys[key],
method: 'POST'
}
}
}
那么你可以通过controller.OPTION(“PLAY”)获得它。它本质上是创建了刚刚耦合到控制器对象中的getOption()方法epascerallo。