问题标签 [route-provider]
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.
angularjs - 可以禁用 $locationProvider 和 $routeProvider 吗?
我可以禁用这些家伙吗?我在 asp.net mvc 应用程序中使用 angular.js,我不需要 angular 来控制与地址栏或链接相关的任何内容......
现在在 html5 模式下禁用 ( $locationProvider.html5Mode(false)
) 它会将哈希和操作方法的名称添加到地址栏,例如:您转到\Home\index
,它会导航,然后地址栏文本变为Home\index#\index
. 这不是很烦人吗?
如果我启用 html5 模式,它将完全停止加载页面(初始页面除外)。我尝试从最初加载的页面转到另一个页面 - 它更改了地址栏的文本(这次不添加主题标签),但不会加载页面本身。那不是令人沮丧吗?
angularjs - Angular JS深度链接$ routeProvider重新加载不起作用
我有以下路由配置:
一切正常,除了当我打开/admin/settings
并重新加载页面时,它重定向到404
. 我尝试删除 html5Mode,它可以工作。但是,我真的很想使用 html5Mode。我错过了什么?请帮我。
哦,顺便说一句,我使用的是 AngularJS 1.1.5。
javascript - AngularJS:解析 $http 时的 $routeProvider 返回响应 obj 而不是我的 obj
我正在尝试解决几个 ajax 调用,以便我的控制器需要的数据在它(以及它提供的指令)执行之前可用。执行顺序是有效的,但是,不是返回我创建的对象,而是注入到我的控制器中的结果是 $http 的响应对象:
我的代码基本上看起来像:
我傻吗?$http 成功的返回值不应该是 $http 返回的值吗?
我也试过
但是data
注入到我的控制器中的对象是未定义的(我猜是因为 $http 是异步的并且resolve
没有被 $http 阻塞,所以它在 $http 准备好之前返回)。
PS $http 的同步性应该在其选项对象中定义!
解决方案
感谢Ajay beniwal 的指针和Mark Rajcok 的指针。
PSthen()
记录在$q的页面上。
ajax - $routeProvider: 带有 X-Requested-With 标头的 templateUrl 请求
jQuery.ajax()
通常发送一个X-Requested-With
带有XMLHttpRequest
设置为内容的标头。在服务器上(在 PHP 中),我通常通过测试来检测:
$is_ajax = $_SERVER['HTTP_X_REQUESTED_WITH'] === 'XMLHttpRequest'
在AngularJS中,常见于 中$routeProvider.when()
,您可以使用templateUrl: '/path/on/server'
.
我的问题是请求templateUrl
似乎没有设置X-Requested-With
标头,因此无法将templateUrl
请求与任何其他类型的请求区分开来。
有什么办法可以$routeProvider
发送X-Requested-With
为XMLHttpRequest
?
参考:
$routeProvider 文档- (搜索
templateUrl
)jQuery jqXHR - 见
jqXHR.setRequestHeader("X-Requested-With", "XMLHttpRequest")
v1.1.5
通过Google CDN使用 Angular更新:我找到了Angular开发人员
X-Requested-With
从$http.get
. 想知道他们为什么要这样做?更新: https ://github.com/angular/angular.js/issues/1004 - 讨论删除标头的位置。
angularjs - AngularJS 中的分布式路由定义
我一般知道 AngularJS 中的路由定义如下:
让我烦恼的是,我想使用 RequireJS 模块化我的应用程序,并且我想在需要的地方注册路由。例如,如果我有一个配置文件模块,我想从那里注册我的路线。同样适用于触点模块。这种集中化让我发疯。我是否在这里遗漏了一点,或者我的问题有什么好的解决方案?
angularjs - 使用没有历史和 url 更改的角度 $routeProvider
我想使用 $routeProvider 从服务器加载部分,但我不希望 url # 值更改和历史记录更改(在我的应用程序内多次路由更改后,应用程序应该返回到以前的 url 而无需多次后退按钮单击)
angularjs - $routeProvider:未定义的 ID 数量
在我的 angularjs 应用程序中,我的路径是这样构建的:
当用户单击子菜单项时,该项的索引将添加到路径中。未指定菜单的深度。
因此,如果用户单击所有菜单,则路径可能如下所示:
.../#/settings/0/2/0/3/2
如何设置 $routeProvider 以使 ID 的数量无关紧要?
symfony - Symfony2 使用带有 Angular HTML5 路由的资产
我在 Symfony 中使用有角度的前端。当我声明我的时$routeProvider
,我必须包括我的/app_dev.php/
因为我将 html 5 模式设置为 true: $locationProvider.html5Mode(true);
。
对比
问题是当我想使用生产环境时,我必须记住将这些路由改回来。
assetic
当我进行转储以检测我正在为dev
vs进行转储时,我有一个很好的方法来处理这个问题,prod
还是我只需要痛苦地记住更改目标环境的路径?
谢谢
angularjs - Angular routeProvider Resolve 未调用
我在路由提供程序中设置了一个简单的解析功能。就像是
该工厂在这样的模块中声明的位置:
发生的事情是在直接刷新或第一次加载时,此解决方法被命中。但是,如果我有 $location.url('/mypage'); 从一条路线更改为这条路线,角度不会重新解析此控制器。
我可能没有考虑以正确的方式解决问题,如果是这样,我会就“角度”的方式提出建议来做到这一点。我希望在视图之前加载所有这些信息,并且会根据路由参数而变化。
rest - RESTful 路由角度路由提供程序
我想做这样的事情:
不幸的是,角度似乎认为“新”是一个 :playlistId
关于如何实现这一点的任何建议?