yod*_*oda 0 javascript oop jquery
我正在尝试在对象中设置一些属性.我不喜欢告诉对象从外面可以期待什么(使对象更灵活,imo),所以我尝试了这个,没有成功:
slideshow = {
init : function(data) {
if (!data)
return false;
$.each(data,
function(index, value) {
// this isn't working, and don't know how to
this[index] = value;
}
);
alert(this.options.interval);
return true;
},
};
Run Code Online (Sandbox Code Playgroud)
认为很清楚缺少什么.
有任何想法吗?干杯!
更新
var data = {
options : [
{
interval : 8000,
target : '#slider img',
},
],
images : [
{
img : 'assets/img/assets/img/slider_test_img.png',
title : 'Uniforme de Restauração 1',
description : 'blablabla descricao',
url : 'http://www.google.pt',
},
{
img : 'assets/img/assets/img/slider_test_img.png',
title : 'Uniforme de Restauração 2',
description : 'blablabla descricao 2',
url : 'http://www.google.pt',
},
{
img : 'assets/img/assets/img/slider_test_img.png',
title : 'Uniforme de Restauração 3',
description : 'blablabla descricao 3',
url : 'http://www.google.pt',
},
],
}
Run Code Online (Sandbox Code Playgroud)
你必须提到this:
var self = this;
$.each(data, function(index, value) {
self[index] = value;
});
Run Code Online (Sandbox Code Playgroud)
或者使用jQuery的jQuery.proxy方法:
$.each(data, $.proxy(function(index, value) {
this[index] = value;
}, this));
Run Code Online (Sandbox Code Playgroud)
否则,this将参考文档value中所述.
| 归档时间: |
|
| 查看次数: |
388 次 |
| 最近记录: |