这是了解Ember路线的后续行动.
主/详细视图很棒,但我正在尝试使用分层URL路由而不嵌套模板.但是,对于像痕迹链接和其他引用这样的东西,我仍然需要访问父模型.
所以/users/1/posts应该显示用户1的帖子列表.并且/users/1/posts/1应该为用户1显示帖子1,但它不应该在user模板内部呈现{{outlet}}.相反,它应该完全取代user模板.但是,我仍然需要访问post模板中的当前用户,以便我可以链接回用户,显示用户的姓名等.
首先我尝试了这样的方法(方法#1):
App.Router.map(function() {
this.resource('user', { path: '/users/:user_id' }, function() {
this.resource('posts', function() {
this.resource('post', { path: '/:post_id' });
});
});
});
...
App.PostRoute = Ember.Route.extend({
model: function(params) {
return App.Post.find(params.post_id);
},
renderTemplate: function() {
this.render('post', {
into: 'application'
});
}
});
Run Code Online (Sandbox Code Playgroud)
正如预期的那样,这将user模板替换为模板post.但是,当我单击浏览器的后退按钮时,user模板不会再次渲染.显然,后视图被销毁但父视图未被重新插入.这里有几个问题提到这一点.
然后我让它用这样的东西(方法#2):
App.Router.map(function() {
this.resource('user', { path: '/users/:user_id' }, function() {
this.resource('posts');
this.resource('post', { path: '/users/:user_id/posts' …Run Code Online (Sandbox Code Playgroud) 我试图让Bootstrap的scrollspy在响应式网站上可靠地工作,其中顶部导航栏的高度根据媒体/浏览器的宽度而变化.因此,不是硬编码data-offset属性的偏移量,而是通过Javascript初始化动态设置它,如下所示:
$('body').scrollspy({ offset: 70, target: '#nav' });
Run Code Online (Sandbox Code Playgroud)
对于宽布局(即Bootstrap -lg),它可以正常工作,但对于较窄的布局,似乎存在"累积"偏移.换句话说,它适用于第一部分,但随后需要增加像素来激活以下部分(例如,下一个为90px,第三部分为110px等).
我尝试直接操作scrollspy对象,如下面的答案中所述: 如何在Bootstrap中设置ScrollSpy的偏移量?但无济于事.
有人可以推荐一种在响应式网站中实现scrollspy的规范方法,其中偏移量根据媒体宽度而变化吗?
附加信息:
我刚刚在两个场景中分析了scrollspy对象,结果发现当通过data-属性而不是通过JS 初始化时,偏移列表是不同的.看起来当我通过JS初始化它时,偏移数组会在一些BS响应调整发生之前填充,因此高度不同.在所有响应式内容运行后,如何触发scrollspy的初始化?BS调整布局后是否有钩子/回调?JS是否参与或者是由CSS处理的所有响应式内容?
responsive-design twitter-bootstrap scrollspy twitter-bootstrap-3
我经常进行分页(给定页码和页面大小计算开始页,结束页和总页数),我从Java移植这个小函数来帮助:
def page(page: Int, pageSize: Int, totalItems: Int) = {
val from = ((page - 1) * pageSize) + 1
var to = from + pageSize - 1
if (to > totalItems) to = totalItems
var totalPages: Int = totalItems / pageSize
if (totalItems % pageSize > 0) totalPages += 1
(from, to, totalPages)
}
Run Code Online (Sandbox Code Playgroud)
并在接收方:
val (from, to, totalPages) = page(page, pageSize, totalItems)
Run Code Online (Sandbox Code Playgroud)
虽然它有效,但我确信在Scala中有更多可读和功能性的方法来做同样的事情.什么是更像scala的方法?
特别是,我正试图找到一种更好的说法:
var to = from + pageSize - 1
if (to > totalItems) to = …Run Code Online (Sandbox Code Playgroud)