今天早些時候,我發佈了this question,這很快得到了我的滿意。遞歸地用變量的值替換佔位符文本
自從新的需求的時候已經到了光,我現在需要用它來代替一個變量佔位符的價值recursivly
這裏是我的代碼的例子,因爲它目前爲。完整的插件可以在this Pastebin -
$.widget('custom.contents', {
options : {
singleID : 'content-{index}',
linkID : 'link_to_{singleID}'
}, // options
_create : function(){
console.log(this._getOption(25, 'linkID'));
}, // _create
_getOption : function(index, option){
var t = this; // The object
var optionValue = this.options[option].replace(/{(.+?)}/g, function(_, name){
return name === 'index' ? index : t.options[name];
});
return optionValue;
} // _getOption
});
如果我包括console.log(this._getOption(25, 'linkID'));
產值將link_to_foobar-{index}
。
則返回該值之前,我想遞歸運行_getOption()
功能,保證內{}
封閉所有值被替換。
我該如何做到這一點?
你可以添加現場演示。 – Tushar
當函數被調用爲'_getOption()'時,函數內部的this就是'window'對象。 – Tushar
@Tushar我認爲我們可以放心地假設'options'和'_getOption'函數都在同一個對象中;} – Jamiec