问题标签 [routeparams]
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 - 如何通过在 URL 中传递 id 来使用 ng-click 重定向页面
我是 AngularJS 的初学者,但我有一个问题,我不知道如何解决它。
我给你解释一下
我在一个名为“Reference”和“Critere”的表之间有 OneToMany 关系,这意味着一个“Reference”应该包含许多“criteres”,所以我在一个表中列出了所有“References”。
当我点击“Reference”时,主要问题出现了,它应该将我重定向到一个名为“Critere”的页面,上面点击了“Reference”的 id,并且该页面“Critere”(Critere/idReference)将包含所有 Criteres与该“参考”相关的内容。知道我得到了 Json 格式的所有数据,我正在使用 Spring Boot 和 Rest Api,当我尝试加载与该“引用”相关的所有“Criteres”时,我在 Spring 中没有任何问题,但它发生了我不知道如何用 AngularJs 做到这一点。
这是我的代码:
在这里,我使用可点击的行加载表上列出的所有参考
我使用一个控制器
我也得到了路线参数
这是我在 Files Critere 中调用的函数
这是我的文件 Critere
我也收到了这个错误:
未捕获的错误:[$injector:modulerr] 我正在使用thymeleaf
express - 如何区分两条路线,其中一条是“/:param”,另一条是“/param”
我是expressjs的新手,对expressjs中的路由和此类概念知之甚少。在阅读它时,我看到可以设置一条路线
其中 param 将成为路由参数变量,所有此类获取请求,如:“/foo”或“/bar”将对应于该路由。
我的问题是:我现在可以有一条路线吗?
或者
如果是这样,我怎么知道请求是针对 route1 而不是针对 route2(反之亦然)?
angularjs - 无法在控制器中获取 $routeParams 的值(AngularJs)
我的配置:
我的控制器:
我的 html :
所以在这里我正在通过 Ionic Framework 编写移动应用程序,但我无法解决一些问题。
我正在尝试id
在我的控制器中使用routeParams
它,以便我可以使用它id
从网络中提取一些数据,但不幸的是我无法在我的控制器内部访问它。我试图测试并打印出我在里面的数据ng-controller
没有用。你能帮助我吗?
angularjs - 使用 angularjs $routeParams 的项目详细信息页面
我正在使用 angularjs 建立一个在线商店,我很难弄清楚如何链接到 details.html 并让它显示特定项目的详细信息。目前,当我单击查看更多按钮 url 时,将显示项目的名称。我可以让它显示的唯一方法是创建这样的链接:#/details/:{{item.name}}。我在网上阅读的所有内容都说它应该是 #/details/:name 但它在 url 中返回 :name 而不是 details/:Macbook Pro 作为示例。如果我以正确的方式进行操作,它将重定向回主页。到目前为止,这是我的代码。
应用程序.js
计算机.html
同样,让项目名称显示在 url 中的唯一方法是在 url 中使用方括号,我知道这是不正确的。任何帮助将不胜感激。
angular - Angular 2 路由:父处理参数
我的 Angular 2 路由出现错误。(使用角/路由器2.0.0-rc1)
以下是路线的样子:
在我的选项卡组件上,我需要在没有给出 ID 时禁用 itemStuff 和 differentStuff 选项,但在有 ID 时启用。
我在模板中的 ID 上使用了 NgIf,并且:
问题是我无法从我的选项卡页面访问路由参数,因为“routerOnActivate”仅在路由端点调用。似乎一个选项是让子元素为我进行检查,然后发回一个事件以供 Tabs 组件更新,但这看起来很难看,而且不是正确的方法。
任何帮助表示赞赏!
TLDR:父组件如何访问和处理参数
angular - 可选的路由参数,而不是查询参数(@angular/router 3)
通常,在项目中,某些路线是必需的,而不是开发人员的选择。也就是说,我也同意这些路由,但会损害查询参数(php 或其他服务器端语言中所谓的 GET 变量)。
这里有一个类似的问题,但它是一个比这个更简单的场景,它没有提到任何关于解决“可选”路由参数顺序的内容。当我们需要一个或两个以上的“可选”路由参数时,它也不会处理这种情况(例如当您过滤各种内容的内容时)。它只有一个“可选”路由参数。我一直使用引号,因为据我所知,默认情况下没有“可选路由参数”之类的东西,只要实现这一点的唯一方法是伪造它(如声明所有可能的路由,使用和没有那个参数)。
例如,根据项目要求,路线需要如下所示:
不喜欢这样:
好的,OR
上面的路由示例是我自己的,不是必需的。因为,即使在这种情况下并非如此(我们不希望谷歌或其他搜索引擎有任何机会在不同的路线上看到相同的内容),但在其他情况下,顺序仍然无关紧要。而且,在这些情况下,开发人员更容易在生成路由链接时根本不关心他/她堆叠过滤器的顺序。通过“过滤器”,我指的是一个细分组,例如/categories/:categories
.
撇开OR
不谈,至少其余的都是一个非常常见的情况,事实上,我参与的所有项目都有这样的过滤/排序路线,而不是查询参数。
那么,对于 Angular 的路由器有这个限制,人们将如何处理所需的路由呢?
当然,在我的脑海中,我会考虑这种设置:
或者也许使用子路由,将它们定义在一个单独的文件中,这样我们就不会在一个地方用这么多配置来混淆主应用程序路由。
所以上面的路由配置有明显的局限性:
- 在上面的示例中,我们最多只应用了 2 个过滤器(
categories
和tags
)。如果我们有 4 或 5 个过滤器,这将太麻烦了。例如,如果有 5 个过滤器,我们需要定义路由以组合任何 1 个过滤器、任何 2 个过滤器、任何 3 个过滤器、任何 4 个过滤器和所有 5 个过滤器。还要添加分页......这将是路由配置的地狱。我的意思是,对于上述每条路线,添加我们可能有也可能没有的事实/page/:page
(我们不希望/page/1
在 url 中,我们只想/page
在从第 2 页开始的 url 中)。这只是将上述所有路线翻了一番。维护此路由配置本身已成为一个单独的项目。 - 按照上面的路由配置,我们只能在url中按照一定的顺序堆叠segments:先是category,再是tags。当然,我们可以通过在路由配置中设置所有可能的组合(同时具有
/categories/:categories/tags/:tags
和/tags/:tags/categories/:categories
)来解决这个问题,当我们有超过 2 个过滤器时,这将是一个痛苦的配置。维护起来太复杂了。/categories/cat1_cat2
如果路由器能够简单地识别该段组在 url 中其他段/段组中的位置,那将更有用。当然,这意味着配置看起来会与现在不同,因为我们还可以在 url 中有“单个”段,而不仅仅是成对的。但这是他们早在开始开发路由器之前就应该考虑的事情。
我不敢相信,在构建角度路由器时,他们没有考虑这种(非常常见的)场景并提供某种帮助来实现这种定制。有什么我想念的吗?路由器实际上是否提供了一种自定义此类内容的方法,但在我碰巧看到的任何教程中都没有人参与其中?
angularjs - 角度 js $routeParam 无法正常工作
我已经使用 $routeProvide 将页面从一个页面重定向到另一个页面,并且我在 url 中传递了一些动态参数。
它在一个地方工作,而不是在另一个地方工作。
我的代码:在 app.js
在控制器文件中:对于 testController 当我点击 url server.com/#/test/45 进入控制台 45 和对于 indexController 当我点击 url server.com/#/test2/45 然后我在控制台中得到 :id 。
为什么会发生这种情况有人可以帮忙吗?应该是什么问题?
angularjs - 如何在angularjs中加载文本字段
我正在开发一个应用程序,我想在表单中加载一个文本字段,并禁用它进行编辑。我想回答两件事。实际上,我的想法是从 url 获取一个 mongodb_id
并将其传递给我的控制器并从 db 获取相应的电子邮件 id 并将其填充到加载表单中,以便用户无法在该字段中对其进行编辑。
问题 1:我已经编写了使用 ID 获取电子邮件 ID 的 api,但我不确定如何_id
从我的 url 获取。
说www.xyzabc.com/register.html?id:57c5dda12e63d15d2e4dea2c
www.xyzabc.com/register.html?57c5dda12e63d15d2e4dea2c
任何格式的网址。
我的api是这样的:
如果 id 是硬编码的,上面的代码可以完美地完成所有事情。我不知道如何从 url 中获取 url 参数作为 id。
问题 2:一旦我得到我的 id,$scope.user.email = email;
它应该被填充到禁止用户编辑的字段中。
我尝试了下面的代码,但它对我不起作用。
任何人都可以帮助我解决这个问题。在此先感谢。
angularjs - 当 routeParams 不为空时 AngularJS 无限循环
我正在尝试使用,routeParams
所以我可以获取 URL 的一部分,但是当我尝试使用 GET 参数访问 URL 时,它会让我陷入无限循环。目前,我定义了以下内容:
这是控制器:
因此,如果我用任何东西替换了管理器参数,它会在循环中打印“无限循环”消息,但是当我不在 URL 上使用任何参数时它会起作用。这里可能是什么问题?
php - 使用AngularJS中的$routeParams将ID参数从url传递到php脚本?
我喜欢将 ID 参数传递给 php,以便我可以在脚本中检索特定的 sql 数据库行。
ID 参数在 URL 中可用,例如 ( http://localhost/RoutingAngularJS/index.php#/students/1 )。最后一位数字 1 是数据库中的行 ID,以便可以检索该行中人员的信息。
$routeParams 在控制器中用作
我的 ReadOneStudent.php 是
我喜欢将 id 传递给 $student->id,现在是 ????。
谢谢
编辑:
ReadOneStudent.php
学生.php