动态地从对象循环键传递属性引用
Dynamically pass property reference from object looping key
如何动态传递属性引用作为方法参数
这是ajax success
函数响应数据的样子:
{
users: {
data: {}
},
countries: {
data: {}
},
states: {
data: {}
}
}
这是我之前存储数据的示例:
var users = ko.observable();
var countries = ko.observable();
var states = ko.observable();
var store = function(data, observable)
{
observable(data);
}
$.ajax({
//... ajax options...
success: function(response)
{
// This is how i store the data previously
store(response.users.data, users);
store(response.countries.data, countries);
store(response.states.data, states);
}
});
这是我目前为止试过的一个例子:
$.ajax({
//... ajax options...
success: function(response)
{
// This is how i want to achieve
ko.utils.objectForEach(response, function(key, data)
{
store(data.data, key);
});
}
});
但不幸的是,我只是把文本字符串传递给store
方法的第二个参数。
任何帮助和建议将不胜感激!
谢谢。
让它们成为对象的属性,然后使用字符串:
var obj = {
users: ko.observable(),
countries: ko.observable(),
states: ko.observable()
};
var store = function(data, observable)
{
var prop = obj[observable];
if (prop) { // Just being defensive
prop(data);
}
};
$.ajax({
//... ajax options...
success: function(response)
{
var key;
for (key in response) {
store(response[key].data, key);
}
}
});
相关文章:
- 无法获取属性'selectedIndex'的未定义引用或null引用
- 无法获取属性'Id'使用Knockout.js的未定义或空引用API
- 如何正确引用传递到淘汰中的当前元素的属性.JS
- 如何使用object.assign()从其他对象引用基本对象属性
- 引用Ractive.js中的子属性
- 无法获取属性'字符串'的未定义或null引用IE 11 ASP.NET
- 使用闭包创建原型中引用的私有属性
- SCRIPT5007:无法获取属性'长度'的未定义引用或null引用
- 无法获取属性'setActionableButtonState'的未定义引用或null引用
- 传递引用 jQuery 后无法访问元素属性
- 对象属性引用JavaScript中的其他对象属性
- 函数作为对象中的属性:引用函数内部的其他属性
- 从另一个属性引用js属性的正确方式
- 使用Aurelia's ref属性引用元素的视图模型
- 在javascript中分配属性引用
- 当对象属性引用对象本身(self reference)时,Javascript内存泄漏
- angular ng-repeat内部的动态属性引用
- 如何从p:对话头属性引用javascript变量
- 如何通过属性引用javascript对象's onclick方法
- 动态地从对象循环键传递属性引用