html - 如何使用 AngularJs 将参数从 URL 注入(inject) HTML

标签 html angularjs node.js express

我正在构建一个应用程序(使用 Express、Node 和 Angular)来存储客户端并能够查看他们的信息。每个客户端都分配有一个 id key 。我创建了一个链接,当单击客户名称时,它会转到如下所示的网址:client/{{client.id}} 。我想提取这个参数 id,这样我就可以过滤客户端并仅显示具有该 id 的客户端。这是我的express.js,我在其中找到参数id并将其打印在控制台中:

// express stuff
app.param('id', function (req, res, next, id) {
console.log(req.params.id);
next();
});
app.get('/client/:id', routes.clientpage);

现在,我看到控制台日志中打印了 id ——但是,使用 Angular,我如何将此参数注入(inject)到过滤器中?这就是我的想法,但我显然错了:

<ng-repeat="client in clients | orderBy:'id' | filter:{id:{{$req.params.id}}} | limitTo: 1"/>

最佳答案

你可以通过一些 url 解析表达式来做到这一点,如下所示:

//in controller
$scope.clientId = document.location.href.split('client/')[1];

//in template
<ng-repeat="client in clients | orderBy:'id' | filter:{id:clientId} | limitTo: 1"/>

这适用于 myapp.com/example/client/46235 等网址,但对于 myapp.com/example/client/46235/getsmth 可能会失败,因此您可能需要使用其他解决方案:

  • angular UI router用于客户端应用程序导航
  • 在服务器生成的模板的某些部分输出此 ID。

关于html - 如何使用 AngularJs 将参数从 URL 注入(inject) HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37398353/

相关文章:

html - 无法访问 Heroku 中的 Express 服务器

javascript - 是否可以使用NODE.JS(或PYTHON)开发ACM ONLINE JUDGE系统?

javascript - 如何迭代 JSON 以使用动态数据制作 ejs 片段

javascript - 如何在 Javascript 中插入带有 HTML 标记的 PHP 代码

javascript - Jquery每个函数,计算重复项

html - Css 背景图片:net::ERR_FILE_NOT_FOUND

javascript - 如何以响应方式创建水平元素?

javascript - 无法将值从工厂返回到服务 AngularJS

javascript - 如何使用 Jasmine 测试 Angular 工厂对象

html - Font Awesome 图标在 IE 和 Firefox 上不显示