1

在使用 AngularJS 执行重定向到另一个局部视图时

$location.path('/view2')

是否可以在 $routeParams 中设置自定义对象,然后在控制器中为 view2 检索该对象?

我看到的示例显示了如何通过在 url 中传递一个 ID 来做到这一点 - $location.path('/view2/ID') 然后使用 $routeParams.ID 检索 ID 但是我如何传递任何 javascript 对象?

4

2 回答 2

1

使用服务,它们允许您将对象从视图传递到其他视图。

于 2014-01-19T01:03:06.010 回答
0

$location服务的更改表示对浏览器地址栏的更改,因此它们是基于字符串的。

所以基本上有2个选择:

  • 您将对象转换为与 url 兼容的字符串并将其传递到 url

  • 您将对象存储在数据容器(例如范围或 rootScope)中,更改您的位置,然后再次从数据容器中获取数据。

第二个选项肯定更可靠,但从技术上讲,第一个选项是有效的,所以值得一提。

希望有帮助!

于 2013-07-03T23:17:56.410 回答