gpt4 book ai didi

javascript - 没有模板的 Angular 简单路由

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:24:58 27 4
gpt4 key购买 nike

我正在寻找使用 Angular 如何处理路由的简单解决方案。

我的页面由服务器生成,带有简单的谷歌地图和很少的逻辑,位于 3 个独立的 Controller 中。

现在我想在其中 Hook 路由。只是简单的路由。当我移动 map 并获得新坐标时,我想将它们作为参数“?position=10.11,50.23”插入当前 url。我想使用带有 hashbang 备份的历史推送状态。

在应用程序的其他部分,我想监听这个参数的变化(可能是一些 $watch?)。我想使用相同的代码来检测首先加载页面时要使用的更改。

我在之前的项目中使用了 CanJS,这非常简单,但在 Angular 中我无法一步一步地纠正结果 :)

PS:这只是最小用例的一部分。

谢谢

最佳答案

你并不真的需要 Angular 路由来做到这一点。 Angular 中的路由通常用于将 ng-view 替换为不同的模板 though it can be used for other things as well .

您的要求可以通过使用 $location 服务并设置 $watch 来满足:

$scope.$watch(function () { return $location.search().position; }, function (newVal) {
$scope.params = newVal || 'No params';
});

$scope.setParams = function (val) {
$location.search('position', val);
};

Working demo

在单独的窗口中启动实时预览以查看窗口地址栏中的参数变化。

更新:演示不再适用于 plnkr.co。可能是因为他们改变了使用嵌入式模式的方式。

关于javascript - 没有模板的 Angular 简单路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20251220/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com