- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
目前,我正在浏览 Ember.js 指南中的每一页和代码片段,并构建一个小型示例应用程序。有些我已经坚持了一段时间但解决了。然而,这个让我感到困惑。
在 http://emberjs.com/guides/controllers/representing-multiple-models-with-arraycontroller/它也在这里,但不使用 .get('songs") http://emberjs.com/guides/controllers/representing-a-single-model-with-objectcontroller/
App.SongsRoute = Ember.Route.extend({
setupController: function(controller, playlist) {
controller.set('model', playlist.get('songs'));
}
});
我不知道 playlist.get('songs') 引用的是什么。我假设它是一个模型对象数组内部对象,但我显然错了。但是由于他们站点上的示例代码没有可供使用的模拟 stub 数据,所以我只是根据我的所有测试进行猜测。
此处提供的代码有一些注释掉的位以查看我正在测试的内容。
<script type="text/x-handlebars" data-template-name="songs">
<h1>Playlist</h1>
<ul>
{{#each}}
<li>{{name}} by {{artist}}</li>
{{/each}}
</ul>
</script>
<script type="text/x-handlebars" data-template-name="playlist">
<h3>Playlist: </h3>
</script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/handlebars.js/1.0.0-rc.3/handlebars.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/ember.js/1.0.0-rc.6/ember.min.js"></script>
<script type="text/javascript">
window.App = Ember.Application.create();
App.Router.map(function () {
this.resource('songs');
this.resource('playlist');
});
App.IndexRoute = Ember.Route.extend({
redirect: function() {
this.transitionTo('songs');
}
});
// App.SongsRoute = Ember.Route.extend({
// setupController: function(controller, model) {
// controller.set('model', model);
// },
// model: function () {
// // return songs;
// return playlist.songs;
// }
// });
App.SongsRoute = Ember.Route.extend({
playlist: function() {
var playlist = { songs: [{fish: "fish"}, {fish: "fish"}] };
return playlist;
}.property(),
setupController: function(controller, playlist) {
controller.set('model', playlist.get('songs'));
}
});
App.PlaylistRoute = Ember.Route.extend({
setupController: function(controller, model) {
controller.set('model', model);
},
model: function () {
return playlist;
}
});
App.SongsController = Ember.ArrayController.extend();
var songs = {
duration: 777,
name: 'Ember',
artist: 'Jimmy Smith',
};
var playlist = {
songs: [
{
id: 1,
duration: 777,
name: 'Ember',
artist: 'Jimmy Smith',
},
{
id: 2,
duration: 888,
name: 'jQuery',
artist: 'Hyper Cat',
}
]
};
</script>
最佳答案
不幸的是这个链接(http://emberjs.com/guides/controllers/representing-multiple-models-with-arraycontroller/)有点困惑。他们假设存在模型关系,但没有表现出来。
他们假设有这样的事情:
App.Playlist = DS.Model.extend({
name : DS.attr('string'),
songs : DS.hasMany('song',{async:true})
});
App.Song = DS.Model.extend({
name : DS.attr('string')
});
然后通常您要做的是从 setupController
中的 model
中提取集合,然后将其设置为 content
在主 Controller 需要
的嵌套 Controller 上。
App.PlaylistRoute = Ember.Route.extend({
setupController : function(controller,model){
this._super(controller,model);
this.controllerFor('songs').set('content',model.get('songs'));
}
});
App.PlaylistController = Ember.ObjectController.extend({
needs : ['songs']
});
然后,由于您正在为集合使用 ArrayController
,如果您定义了 sortProperties
和 sortAscending
属性,那么您已经内置了排序。
App.SongsController = Ember.ArrayController.extend({
sortProperties : ['name'],
sortAscending : true
});
这是一个使用 FixtureAdapter
显示总体思路的 JSBin。
关于ember.js - 这个 Ember.js 的引用是什么 guides setupController multiple models with arraycontroller,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18838209/
因此,我的 route 有两条路径。我将这两条路线创建为 doc recommends . 我的路由器如下: // router.js Router.map(function() { this.r
Emberjs v1.0.0-pre.4 Handlebars 1.0.0.rc.2 我正在 ember 中构建一个 Facebook 好友列表管理器。当我导航到 list/1/members 时,M
我正在设置isActive在 setupController 中: App.EntryRoute = Ember.Route.extend setupController: (controll
假设我有一个观点: CellarRails.SearchTextField = Ember.TextField.extend({ templatename: 'index', insertNe
我有以下路线和 Controller : var App = App || Ember.Application.create(); App.Router.map(function(){ this.
Ember-Data 很棒,但我需要一些自定义的东西来通过 invitation_token 获取用户,而且还完全在后端 Rails 端调用不同的 Controller 操作。 这是我的路线: MyE
我试图在输入登录路由后立即设置 Controller 属性。目前,我正在使用方法1,它依赖于 Controller 中的init。它工作正常,但我的理解是最好在路由中使用 setupControlle
我在 Ember.js 官方教程中看到了很多令人困惑的例子。 我真的不喜欢的一个例子是: App.ApplicationRoute = Ember.Route.extend({ setupCo
我很困惑为什么Route和Controller会影响默认的Model。这是一个例子。 App.ApplicationRoute = Ember.Route.extend({ setupCont
我有一个 Controller ,上面附加了一些方法。我有相关的路线。我在 Controller 中添加了这些方法,以便它们可以在其他一些地方重复使用。这些方法从服务器检索一些数据。在路线的 setu
我的 route 有一个 setupController 和 model Hook 。 model.find(param) 保存对 Rails 后端的 ajax 调用。 发生的情况是我的模型钩子(Ho
如何在 ember 中将属性从一个 Controller 传递到另一个 Controller 而不涉及路由的 setupController 最佳答案 在最简单的情况下,您可以将一个 Controll
我目前正在评估 Ember.js,因此我正在构建一个小型示例应用程序。目前到目前为止一切都很顺利,但现在我似乎无法解决我最后一个小问题。 当我通过路线电影正常访问应用程序时,一切都按预期进行。显示电影
在使用 {{linkTo}} 时有什么原因导致 setupController 不会被调用吗?我的应用程序中有两个使用 linkTo 的实例,在第二种情况下。它不起作用。我能看到的唯一区别是,在第一种
我有一个没有明确创建 Controller 文件的路由。我的路线看起来像: import Ember from 'ember'; import ApplicationRouteMixin from '
我对 Ember.Route 模型与 setupController 有一些困惑。我在这里有一个示例应用程序: http://jsbin.com/ihakop/5/edit 我想知道为什么我需要添加以
我试图理解 setupController和 model钩子(Hook),它们只会在动态段的情况下被调用吗? 这是我的路由器配置,我看到应用程序运行良好,但我没有看到这些钩子(Hook)被执行: //
我在 formGroup 中遇到问题。首先,我根据 URL 取一些值并调用 API 来检索前字段文本的特定用户数据。 注册.html Username
我有一条路线 /users/:user_id在 emberjs 应用程序中,我将模型分配给 App.UserRoute 类的 setupController Hook 中的模板,如下所示: contr
目前,我正在浏览 Ember.js 指南中的每一页和代码片段,并构建一个小型示例应用程序。有些我已经坚持了一段时间但解决了。然而,这个让我感到困惑。 在 http://emberjs.com/guid
我是一名优秀的程序员,十分优秀!