我有一个有趣的问题,我有这个规则用于路由
"/upload_image/:lat-:lng"
,其中lat
和lng
是地理坐标。
当我尝试使用此/upload_image/42.04648822804604--71.65695190429688
之类的路径进行访问时,其中第一个短划线是上述规则中定义的lat
和lng
之间的分隔符。
但是当我尝试访问$routeParams
时会发生什么
lat
= 42.04648822804604-
和lng
= 71.65695190429688
,这是假坐标,angularjs根据上述规则将第二个破折号作为两个参数之间的分隔符,
任何解决方案都能让它始终拿起第一个破折号? (我知道我可以使用除破折号之外的其他分隔符,但有兴趣知道是否有解决方案+破折号更好)。
更新 这是对freenode上的#angularjs频道进行有趣讨论的结果(从看起来不应该工作的文档来看。“:”应该占用所有内容直到下一个斜线(或者我猜的字面意思)所以它是贪婪的匹配。http://docs.angularjs.org/api/ngRoute.$routeProvider)