假设我们有一组通过项目服务公开的项目:
{ id: '123', name: 'Yeoman', watchers: '1233', ... }
{ id: '123', name: 'Grunt', watchers: '4343', ... }
然后,我们有一个表格来选择您喜欢的项目:
Select favorite project:
%label.radio(ng-repeat="project in Project.query()")
%input(type="radio" ng-model="data.favoriteProject" value="{{project.id}}") {{project.name}}
这会将choices.favoriteProject 设置为所选项目的id 值。通常,我们需要访问相关对象,而不仅仅是 id:
John's favorite project:
{{Project.get(data.favoriteProject).name}}
我正在寻找的是一种将收音机和复选框直接绑定到对象本身而不是 id 的方法,所以我们可以这样做
John's favorite project:
{{data.favoriteProject.name}}
反而。这可以通过 ng-options 使用 select 指令来实现,但是我们如何使用收音机和复选框来做到这一点?如果可能的话,我仍然想使用 id 进行匹配而不是引用。
为了澄清,这是我正在寻找的一个例子
Select favorite project:
%label.radio(ng-repeat="project in Project.query()")
%input(type="radio" ng-model="data.favoriteProject" value="{{project}}" ng-match="id") {{project.name}}
它说:“请将 data.favoriteProject 绑定到实际的项目对象并使用 id 检查它们是否匹配(而不是引用)”。