在ember的官方指南中,它提供了两种设置控制器底层对象的方法.首先是设置模型属性:
App.SongsRoute = Ember.Route.extend({
setupController: function(controller, playlist) {
controller.set('model', playlist.get('songs'));
}
});
Run Code Online (Sandbox Code Playgroud)
第二是设置内容属性:
MyApp.listController = Ember.ArrayController.create();
$.get('people.json', function(data) {
MyApp.listController.set('content', data);
});
Run Code Online (Sandbox Code Playgroud)
这两个属性是否代表相同的东西?我应该使用哪种方式?
我的页面的 html 看起来像这样:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>demo</title>
<style type="text/css">
div.page {
position: relative;
background-color: #F2F2F2;
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.5);
width: 794px;
height: 1123px;
margin-left: auto;
margin-right: auto;
margin-top: 30px;
margin-bottom: 30px;
overflow: hidden;
}
</style>
</head>
<body>
<div id="form">
<div id="page-1" class="page"></div>
<div id="page-2" class="page"></div>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
它模拟了类似Word的分页样式,内容动态插入到每个页面div中。如果页面div中的内容溢出,我想将溢出的内容放入下一页div中(或者如果下一页不存在则创建一个新的)。所以我想知道是否有一种方法可以让页面 div 在内容溢出时触发事件,这样我就可以反向循环内容元素来决定哪些元素应该放入下一个页面 div 中。
任何朝着正确方向的推动都会带来巨大的帮助!谢谢。
在"CSS The Definitive Guide 3rd edition",第166页中,有一段描述了关于水平边距的行为:
请注意,由于水平边距不会折叠,因此父元素的填充,边框和边距会影响其子元素.效果是间接的,因为元素的边距(等等)可以导致子元素的偏移.
我也无法理解本书为此行为提供的示例:
HTML:
<div>
<p>A paragraph</p>
<p>Another paragraph</p>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS:
div {padding: 30px; background: silver;}
p {margin: 20px; padding: 20px; background: white;}
Run Code Online (Sandbox Code Playgroud)
任何人都可以向我解释一下吗?非常感谢.