问题标签 [angularjs-routing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
7249 浏览

url - 如何在 AngularjJS 中创建“url_for”链接助手

在 .NET MVC 中有,@Url.Action()而在 RoR 中有url_for()

我在 angularjs 中找不到类似的 url 构建助手。

我已经提供了构建 url 所需的一切,$routeProvider例如:$routeProvider.urlFor("MyCtrl", {id: 5})可能会很高兴。

我的主要目标是避免在视图和其他地方硬编码 url,并避免重复 url/routes 模式两次。

更新:

似乎很难解释我想要什么所以这里是我想要的确切示例:

而不是在视图中写这个:

我想写这个:

因此,如果稍后我决定更改 ProductCtrl 的路径,我将不必更新此元素中的 url。

我的目标有什么好的解决方案?

0 投票
1 回答
282 浏览

angularjs - 让 AngularJS $route 重定向到特定状态

我希望用户能够链接到特定的查看状态。

当用户访问时,我正在尝试将控制器路由到页面的特定状态http://localhost:3000/resource/#!/1

我的配置是:

我一直在尝试很多,似乎 $route 在所有范围都完成生成之前是未定义的。这意味着我无法执行

$http.get('/resource/' + $route.current.params.memberId + '.json')

在控制器/服务中并通过检查路由参数来触发该特定状态。

我已经能够使用正则表达式和$location.path()在我的控制器内部完成所有这些工作,但也许有更好的方法?(使用 ngView 不够灵活)

重要更新

现在有一个很棒的模块——ui -router,它比默认的 $routeProvider 更好地帮助管理路由、状态和视图。

0 投票
2 回答
22546 浏览

angularjs - 每次 AngularJS 中的 url 更改时调用哪个函数?

我必须同时发生所有请求的队列,而无需等待 angularjs 中上一个请求的响应。
我有一个加载函数,每次更改 url 路由时都会显示加载 div,但在该函数中创建队列数组是不行的。

每次我更改 url 路由时,谁能告诉我在 angularjs 路由中调用了哪个函数?
这是路线代码:

0 投票
0 回答
141 浏览

angularjs - 如何在 angularjs 路由中获取 http 配置?

我想在我的路由中获取在 http 请求中发送的配置(例如,url)。这是我的路线:

现在在运行模块中,我希望为 $location.url() 发送请求 url

有人知道吗?

0 投票
2 回答
10395 浏览

angularjs - 当路由配置(Angular)中的承诺被拒绝时,如何重定向到 404?

在 Angular 中尝试加载给定 url 中的参数的资源时,当 API 以 404 响应时,将客户端重定向到错误路由的最佳方法是什么?

当有人访问例如 orders/1 时,他们会看到订单,但如果要么没有访问权限,要么找不到订单或发生任何其他异常,如何最好地处理?

0 投票
1 回答
3711 浏览

angularjs - Angular路由器中具有嵌套状态的后退按钮

我有一个使用新的、基于状态的ui-router的 AngularJS 应用程序。我的应用程序中有三个不同的视图,其中一个是顶级视图,另外两个是嵌套视图。

结构基本如下:

路由器设置如下:

问题是,当您单击或手动输入 url 时,基本上一切都按预期工作,但在使用浏览器的后退/前进按钮时它不起作用。

例如,你去/foo吗,你被带到/foo/bar,正如预期的那样。当您然后单击链接转到 时/foo/baz,一切都很好。然后单击一个链接,将您带到/,一切都很好。

If you now hit the back button, you are taken back to /foo/baz (which is correct), but only the /foo/fooLayout.html view is rendered, not its sub-view /foo/bazView.html. The strange thing is now that if you hit the back button again, you are taken to /foo/bar and it renders correctly, including its subview! It seems as if nested views weren't recognized when using the back button, at least, if you enter an abstract view at the same time.

$locationProvider.html5Mode is not enabled, but enabling it doesn't make any difference.

I am using AngularJS 1.0.5 and ui-router 0.0.1-2013-03-20.

Any ideas what might cause this issue, and how I might solve it?

0 投票
1 回答
4019 浏览

angularjs - 如何在angularjs中显示数组中的一项?

所以我为一个简单的应用程序编写前端,我坚持一件事。有一个新闻列表页面应该将用户带到单个新闻页面。

所有新闻都在一个数组中,它位于新闻控制器中:

这是新闻列表页面,正常工作:

老实说,我不知道如何使一个选定的新闻可见...

0 投票
4 回答
10588 浏览

angularjs - AngularJS 中的动态路由 - 我可以在设置 $routeProvider 之前从服务器检索数据吗?

在设置所有路由之前,有什么方法可以让服务器命中以检索数据$routeProvider?我希望能够根据这个远程数据动态设置路由。我试过这样的事情:

但这会导致以下错误:

所以,我知道配置函数是注入提供者而不是服务。但是,我仍然想知道我是否能以某种方式实现我的最终目标?我不认为我可以用 来做到这一点$httpProvider,但如果我错了,请有人纠正我。如果有一些根本原因导致这是不可能的,请解释。对此的任何帮助将不胜感激。

0 投票
3 回答
7045 浏览

angularjs - 如何在 Angular JS 中轻松实现多个布局?

我需要能够为不同的路线指定不同的布局,最好我希望能够在路线配置中的对象中定义布局和其他参数,并让它们在路线更改时传播。

0 投票
2 回答
703 浏览

angularjs - Angularjs 路由具有未更改的数据,避免为该路由的控制器重新渲染模板?

如果我正在更改路由,并且该路由的数据没有更改,我可以避免为该路由的控制器重新渲染我的模板吗?