如何正确实现URL参数服务



我要设计一个在AngularJS中处理URL参数的服务。目前我有两种不同的参数。

单值

&param=myValue

多值

&param=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) { }

请注意:这是伪代码,不能工作!

即使是您所显示的单个数组,从技术上讲也是一个包含单个元素的数组。所以我要实现多值的那个

/**
 * Set parameters
 *
 * @param {string}   name
 * @param {array}    values
 */
setMultiValuedParam: function(name, array) { }

当查询来的时候,用,拆分,数组中会有0个或多个参数

仅供参考:绝对包含0参数的可能性,因为即使你的程序不调用0,因为这是一个查询参数,其他人可以直接点击URL。

最新更新