问题标签 [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.
javascript - Angular $routeParams 强制变量类型
在我的 Angular 应用程序中,我有类似的路线/items/:id
在 ItemCtrl 我得到:id
的$routeParams.parcId
问题是它是一个字符串,而值是一个数字,我所有的 id 都是数字。
那么如何强制正确的类型并且默认没有字符串呢?
ps:我不想var id = Number($routeParams.parcId)
在我所有的控制器中做
route-provider - Angularjs在不同的网址上使用相同的模板和控制器
我有一个可以在两个上下文中运行的应用程序——1)全局和 2)客户端
在全局上下文中,url 类似于 mydomain.com/#login、mydomain.com/#register,但在客户端上下文中,url 类似于 mydomain.com/#/ClientKey/login 和 mydomain.com/#/ClientKey/登记。在这两种情况下,我都想打开完全相同的模板,即 login.html 和 register.html。实现此目的的一种方法是复制 routeProvider.when 两种情况,如下所示
我的问题是,有没有办法在单个 routeProvider.when 中做到这一点,而不是复制两次,差别很小。这对我的应用程序很重要,因为有几个这样的链接,如登录、注册、editProfile、changePassword 等。
angularjs - AngularJS:跟踪 URL 中的用户输入,以便用户可以利用浏览器的后退/前进
AngularJS 的官方教程是我的问题的一个很好的例子。当您在http://angular.github.io/angular-phonecat/step-12/app/#/phones输入查询并选择结果排序方式时,url 保持不变,用户输出不会存储在其他任何地方任何一个。现在,如果用户单击一个链接,他就无法返回到他的过滤结果。随着更多的项目和过滤器它变得烦人。
将用户的过滤器选择和查询保留在 URL 中的最佳方法是什么?我尝试使用 AngularJS 和浏览器的组合$location
,$routeParams
但是history.pushState()
它变得非常麻烦并且有些东西仍然不起作用。阅读“使用 AngularJS 掌握 Web 应用程序开发”一书的“组织导航”一章也无济于事。我关心的不是一段代码,而是它的整个结构。
angularjs - AngularJS 中的客户端与服务器端授权
我正在开发这个用户应该回答一堆问题的应用程序。
我想要做的是保护具有问题对象的 JSON 的页面,该页面还包含敏感信息,例如问题的答案。
我正在尝试做的是限制客户端非管理员用户对该页面的访问(他们不应该能够键入并转到该 URL 并查看该页面上的 JSON,他们应该得到 403) ,同时允许来自服务器端的非管理员用户的 HTTP GET 请求,所以我可以让他们回答问题。
这是我在客户端所拥有的:
这就是我在服务器端所拥有的:
两者都适用于单独的路由,但是一旦路由相同,服务器端代码总是会执行,而客户端代码则不会。因此,任何非管理员用户在访问 URL 时都能够看到纯 JSON,这是不可取的。关于为什么会发生这种情况的任何想法?
谢谢你。
angularjs - 我是否将 $stateProvider 或 $routeProvider 用于具有登录分离的单页应用程序
我是否将 $stateProvider 或 $routeProvider 用于带有登录分离的signle page app,即您必须经过身份验证才能查看和访问某些视图?
我从这个开始:
所以让我们看看我有一个需要登录的视图和另一个需要以特定权限登录的视图,正确和最佳实践方法是什么?
angularjs - 在AngularJS中路由到模板时如何调用方法?
在AngularJS中路由到模板时如何从服务调用方法?
这不正确吗?:S
node.js - URL 在浏览器刷新时更改($routeProvider 用于客户端路由)
我在客户端使用 Angular,在服务器端使用 Nodejs (Express) 来构建单页应用程序。为了支持不同视图的浏览器历史记录,我使用了 $routeProvider。如果我不刷新浏览器,它会很好地工作。但是每当我刷新浏览器时,我都会注意到 URL 发生了变化,这导致了问题,因为服务器上不存在该 URL 模式。以下是更多细节。
Angular js路由器代码:
应用程序首次启动时浏览器中的 URL: http://localhost:3000/themelibrary#/categoryview
刷新时浏览器中的 URL: http://localhost:3000/categoryview#/categoryview
如果您注意到,您会发现根 URL “/themelibrary”更改为“/categoryview”,这导致服务器不支持“/categoryview”的问题。我也尝试了不同版本的 Angularjs,但没有成功。
请帮助并让我知道是否需要更多代码来解释此问题。
编辑:添加了 Nodejs 路由器详细信息 UI 路由:
API 路线:
angularjs - Angularjs routing not working
Everything worked fine until I tried to add routing. I read that Angularjs version 1.2+ requires 'ngRoute' as an dependency (I am using version 1.2.16). I added it but it still doesn't work. Below are my codes.
test.html (Main Page)
testjs.js
first.html
angularjs - 如何让 ensureLoggedIn 与 routeProvider 一起使用
我正在使用 Angular.js、passport 和 connect-ensure-login 开发 node.js 应用程序。
仅在刷新(F5)时,resureLoggedIn 中的重定向似乎有效并且我进入登录页面,否则我认为单页应用程序的 routeProvider 只是接管正常点击,我仍然到达localhost:3000/users来自“/api/users”的 500 错误。
如何让connect-ensure-login (ensureLoggedIn) 同时适用于直接路径和点击?
对于 API,我正在使用
应用程序的 routeProvider 片段:
参考:
angularjs - Access Angular Factory through Injection
I cannot get access to methods in my Angular Factory? I get "TypeError: Object # has no method 'method1'" error. My angular app looks like this...
myApp.js
factory.js
ListController.js