创建左侧和右侧都是动态的动态javascript变量

时间:2017-06-12 10:34:19

标签: javascript knockout.js

我想创建一个动态javascript变量,并为其分配一个将被缩小的值。

这样的东西
 var result = "res123";
 self.result = ko.observable();
 self.result(response);

所以最后我想要一个像self.res123这样的变量,其值是响应。

尝试

eval("self."+result+"= ko.observable()");  

但是接下来我的javascript正在缩小,所以我得到一个错误,告诉ko没有定义。

然后我使用这个变量与淘汰赛,所以在我的HTML中我有类似

的东西
<div data-bind="with: res123" class="oj-flex">

如果有人可以建议我通过这个方法,那会有所帮助。

提前致谢, Roopa

1 个答案:

答案 0 :(得分:1)

使用括号表示法:

self['myname'] = myvalue;

你甚至可以为全局变量执行此操作(尽管这可能是一个非常糟糕的主意):

window['myname'] = myvalue;

因此,针对您的具体问题:

self[result] = ko.observable();