我即将设计一个处理AngularJS中URL参数的服务。目前我有两种不同的参数。
¶m=myValue
¶m=lorem,ipsum,dolor
我不确定是否为单值和多值参数实现一个setter。
/**
* Set parameter
*
* @param {string} name
* @param {string|array} values
* @param {boolean} multi
*/
setParam: function(name, value, multi) { }
或者,如果每种类型的参数都应该有自己的setter?
/**
* Set single valued parameter
*
* @param {string} name
* @param {string} value
*/
setSingleValuedParam: function(name, value) { }
/**
* Set multi valued parameter
*
* @param {string} name
* @param {array} values
*/
setMultiValuedParam: function(name, array) { }
请注意:这是伪代码,不起作用!
答案 0 :(得分:5)
即使您展示的单个也是技术上具有单个元素的数组。所以我只会实现多值的。
/**
* Set parameters
*
* @param {string} name
* @param {array} values
*/
setMultiValuedParam: function(name, array) { }
当查询到来时,将其拆分为,
,数组中将有0个或更多参数。
仅供参考:绝对包含0个参数的可能性,因为即使你的程序没有调用0,因为这是一个查询参数,其他人也可以直接点击URL。