是否可以在使用用户传入的新值加载对象后重新创建对象?
例如,我有一个充满API调用信息的对象,包括名称和带有必需属性的其余URL。
var masterCallList = [
{'CallName':'GetMerchantData','CallUrl': '/Merchants/?MerchantId=' + MerchantId + '&ApiKey=' + ApiKey, 'CallType':'Get', 'Desc':''},
{'CallName':'GetMerchantFeed','CallUrl': '/FeedReturnItems/?MerchantId=' + MerchantId + '&ApiKey=' + ApiKey', 'CallType':'Get' 'Desc':''}
];
字符串
在页面加载时,我循环遍历每个调用并从中构建html元素,包括创建onclick事件,然后运行调用。
$(document).ready(function(){
//create the call lists and page elements from the master
BuildCallLists();
型
我的问题是,我想允许用户更改其中一个变量,比如merchantid,他们正在请求有关该变量的信息,但当他们重新构建时,他们没有新的值。
1条答案
按热度按时间1wnzp6jl1#
与其将
CallUrl
作为字符串,你可以将其作为一个接受参数的函数,例如:字符串
其中
CallUrlFun
是新函数。现在您可以使用给定的参数(MerchantId, ApiKey)
调用该函数。下面是一个jsFiddle示例:另一种选择是在字符串中有一个特殊的名字对象,并进行字符串替换,例如:
型
其中
CallUrlTemplate
包含名字对象##MerchantId##
和##ApiKey##
。下面是一个示例jsFiddle:顺便说一下,通常在JavaScript中,变量名以小写字母开头(例如,merchantId而不是martId)。