【发布时间】:2015-05-16 00:55:22
【问题描述】:
define(function(require, exports, module){
var View = require('src/core/View');
var Surface = require('src/core/Surface');
var ImageSurface = require('src/surfaces/ImageSurface');
var EventHandler = require('src/core/EventHandler');
var StateModifier = require('src/modifiers/StateModifier');
var RenderNode = require('src/core/RenderNode');
var Transform = require('src/core/Transform')
function DetailedList(){
View.apply(this, arguments);
_createStrips.call(this);
_createImage.call(this);
}
DetailedList.prototype = Object.create(View.prototype);
DetailedList.prototype.constructor = DetailedList;
DetailedList.DEFAULT_OPTIONS = {
height: 80,
width: undefined,
image: '',
content: ''
}
function _createStrips(){
var backgroundSurface = new Surface({
size: [this.options.width, this.options.height],
properties: {
backgroundColor: '#fff',
padding: '10px 15px',
borderBottom: '1px solid rgba(0,0,0,0.1)',
marginBottom: '5px'
},
content: this.options.content
});
var bgMod = new StateModifier({
transform: Transform.behind
})
backgroundSurface.pipe(this._eventOutput);
var node = new RenderNode(bgMod);
node.add(backgroundSurface);
this.add(node);
}
function _createImage(){
var previewImage = new ImageSurface({
size: [50, 50],
content: this.options.image
});
var previewMod = new StateModifier({
origin: [0.5, 0.5],
align : [0, 0.5]
});
previewImage.pipe(this._eventOutput);
var node = new RenderNode(previewMod);
node.add(previewImage);
this.add(node);
}
module.exports = DetailedList;});
这会返回一个带有背景表面和顶部图像的视图。我将其用作列表中的一个项目。如果没有图像表面,它会很好地滚动。但是当我添加图像时,只出现第一项。此外,图像在视图之外。
【问题讨论】:
标签: javascript famo.us