我要设计一个在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) { }
请注意:这是伪代码,不能工作!
即使是您所显示的单个数组,从技术上讲也是一个包含单个元素的数组。所以我要实现多值的那个
/**
* Set parameters
*
* @param {string} name
* @param {array} values
*/
setMultiValuedParam: function(name, array) { }
当查询来的时候,用,
拆分,数组中会有0个或多个参数
仅供参考:绝对包含0参数的可能性,因为即使你的程序不调用0,因为这是一个查询参数,其他人可以直接点击URL。