从另一个具有属于关系的模型访问模型属性 Ember.js
Access model attributes from another model with a belongsTo relationship Ember.js
我有三个相互关联的模型。关系如下:
App.Lodge = DS.Model.extend({
name: DS.attr('string'),
address: DS.attr('string'),
website: DS.attr('string'),
phone: DS.attr('string'),
uniqueDescription: DS.attr('string'),
basicDescription: DS.attr('string'),
yearOpened: DS.attr('string'),
propertySize: DS.attr('string'),
propertyType: DS.attr('string'),
languages: DS.attr('string'),
owner: DS.attr('string'),
uniqueQualifier1: DS.attr('string'),
uniqueQualifier2: DS.attr('string'),
uniqueQualifier3: DS.attr('string'),
uniqueQualifier4: DS.attr('string'),
lowDayPrice: DS.attr('string'),
highDayPrice: DS.attr('string'),
favoriteBoolean: DS.attr('boolean')
});
App.Favorite = DS.Model.extend({
name: DS.belongsTo('lodge'),
notes: DS.attr('string'),
address: DS.belongsTo('lodge'),
group: DS.belongsTo('group'),
photo: DS.attr('string'),
});
App.Group = DS.Model.extend({
name: DS.attr('string'),
favorites: DS.hasMany('favorite', {async:true})
});
我正在尝试从Lodge
模板访问Favorite
模型中的name
属性。模板为:
<script type="text/x-handlebars" data-template-name="group">
<div class="modal fade" id="groupModal">
<div class="modal-dialog groupModal">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title tertiaryHeading">{{name}}</h4>
</div>
<div class="modal-body">
<div class="groupFavoriteContainer" {{bind-attr data-groupID=id}}>
<div class="favoriteControlLinks">
<a class="actionLink favoritesControl"><span class="glyphicon glyphicon-share"></span> Share this Group</a><a class="actionLink favoritesControl"><span class="glyphicon glyphicon-globe"></span> Show this Group on a Map</a><a class="actionLink favoritesControl back backToGroup"><span class="glyphicon glyphicon-arrow-left"></span> Back to My Group</a>
</div>
{{#each favorite in favorites}}
<div class="favoriteContainer">
<div class="favoritesImage">
<span class="favoritesLodgeName"><h3 class="tertiaryHeading">{{favorite.name}}</h3><p class="favoritesAddress">{{favorite.address}}</p><span>
</div>
<a class="actionLink favoriteControl" {{action removeFavorite item}} {{bind-attr data-favoriteid=id}}><span class="glyphicon glyphicon-trash"></span> Remove</a><a class="actionLink favoriteControl"><span class="glyphicon glyphicon-share"></span> Share</a><a class="actionLink favoriteControl"><span class="glyphicon glyphicon-envelope"></span> Contact</a>
<div class="notes">
{{favorite.notes}}
</div>
</div>
{{/each}}
</div>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
</script>
当我做{{favorite.name}}时,它会打印出来:<App.Lodge:ember366:1>
.与 {{favorite.address}} 相同
如何访问这些属性?
在你的Favorite
模型中,你有name: DS.belongsTo('lodge')
,这表示name
属性是lodge
的实例。我想你想要lodge: DS.belongsTo('lodge')
.而且address: DS.belongsTo('lodge')
是没有必要的。因为您可以使用lodge.address
访问该地址。
更新后的模型如下:
App.Favorite = DS.Model.extend({
lodge: DS.belongsTo('lodge'),
notes: DS.attr('string'),
group: DS.belongsTo('group'),
photo: DS.attr('string')
});
在你的模板中使用它,你将能够执行{{favorite.lodge.name}}和{{favorite.lodge.address}}。
相关文章:
- ThreeJS访问加载的obj模型中的对象
- 如何使用javascript访问sails.js模型中的属性
- Odoo销售点如何访问模型并使用JS调用方法
- AngularJs 切换模板 URL 并访问模型数据
- Cakephp 访问不在模型数据数组上的输入
- 使用Express访问Node.js中的模型
- 在ember.js中访问模型之外的计算属性
- 控制器内部无法访问Angular js输入模型
- 如何访问ng重复中的ng重复外的ng模型长度
- LoopBack访问另一个模型
- 如何从单独的javascript文件访问模型属性?(MVC)
- AngularJS从另一个数据模型访问数据模型
- 从包含的视图模型访问组件视图模型
- 从另一个具有属于关系的模型访问模型属性 Ember.js
- 可由其他视图模型访问的挖空可观察/视图模型
- 如何从父视图模型访问孙视图模型
- 从嵌套Backbone.js模型访问属性的问题
- Emberjs:处理表单提交、参数、模型访问
- 骨干从另一个集合中的模型访问视图
- 从模型访问视图