Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 如何正确实现URL参数服务_Angularjs_Architecture - Fatal编程技术网

Angularjs 如何正确实现URL参数服务

Angularjs 如何正确实现URL参数服务,angularjs,architecture,Angularjs,Architecture,我将要设计一个服务来处理AngularJS中的URL参数。目前我有两种不同的参数 /** * Set parameter * * @param {string} name * @param {string|array} values * @param {boolean} multi */ setParam: function(name, value, multi) { } 单值 ¶m=myValue 多值 ¶m=lorem、ipsu

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

/**
 * Set parameter
 *
 * @param {string}         name
 * @param {string|array}   values
 * @param {boolean}        multi
 */
setParam: function(name, value, multi) { }
单值 ¶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。

即使您显示的单个参数在技术上也是一个带有单个元素的数组。所以我将只实现多值的一个

/**
 * Set parameters
 *
 * @param {string}   name
 * @param {array}    values
 */
setMultiValuedParam: function(name, array) { }
当查询出现时,将其拆分,数组中将有0个或多个参数


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

谢谢您的建议。我认为这是更好的解决办法。谢谢你的建议。我认为这是更好的解决办法。