javascript - 将数据从 Node 发送到 Angular 以在 ng-repeat 中使用的正确方法。

标签 javascript angularjs node.js mean-stack

首先我要说的是,我对 Node 和 Angular 还很陌生。

我有两个模型,一个用于项目,另一个用于用户。我的项目模型有一个“所有者”属性,它是创建它的用户的 ID。我有一个 Angular Controller 来处理元素。在项目 Controller 中,我想创建一个接受用户 ID 并返回关联用户名的函数。现在,我尝试了两种方法。一种是将用户列表作为资源并将其传递给项目 Controller 。我还尝试将此代码添加到用户服务器路由中,并在用户 Controller 中添加相应的 $http.get 。

app.route('/users/:userId')
    .get(users.read);

app.param('userId', users.userByID);

我不确定应该使用哪种方法,当我尝试在与项目 Controller 相对应的 View 中重复项目,同时在每个“所有者”属性上调用我的函数时,我就会遇到麻烦。我已经将我的数据绑定(bind)到 $scope.ownerName。感谢您的任何建议。

最佳答案

也许你可以使用某种像 Mongoose 那样的填充函数( http://mongoosejs.com/docs/populate.html )。在您的情况下,itemuser 是一对多关系。每个项目都有一个所有者用户,每个用户可以拥有多个项目。假设您的模型 itemuser 也在服务器端使用,我将提供一个服务器端方法来填充项目列表并用相应的用户替换所有者字段。例如

items = [{id:"item1",owner:"user1"},{id:"item2",owner:"user2"}]

填充

users = [{id:"user1",username:"user A"},{id:"user2",username:"user B"}]

结果为

items = [
  {id:"item1",owner:{id:"user1",username:"user A"}},
  {id:"item2",owner:{id:"user2",username:"user B"}}
]

然后您可以通过调用访问所有者的用户名

items[0].owner.username

关于javascript - 将数据从 Node 发送到 Angular 以在 ng-repeat 中使用的正确方法。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35585743/

相关文章:

javascript - jquery setTimeout 关于它的几个问题

javascript - 网站保存用户详细信息

javascript - 无法从 angularjs 中的 json 文件获取数据?

node.js - Visual Studio 安装程序未安装 node.js

javascript - React.PropTypes 已弃用,我已经安装了 prop-types 包

javascript - 基本的 node.js 代码不工作

javascript - Vue - 深入观察一系列对象并计算变化?

javascript - 您可以设置按钮点击的时间间隔吗?

javascript - AngularJS SPA 登录页面

javascript - chop 没有空格的字符串