如何正确实现URL参数服务

时间:2014-06-21 08:30:31

标签: angularjs architecture

我即将设计一个处理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) { }

请注意:这是伪代码,不起作用!

1 个答案:

答案 0 :(得分:5)

即使您展示的单个也是技术上具有单个元素的数组。所以我只会实现多值的。

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

当查询到来时,将其拆分为,,数组中将有0个或更多参数。

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