How do Meteor's blaze and Famo.us play together? 的部分重复我的回答:
我刚刚发布了famous-components 的预览版,这是 Blaze 和 Famous 之间紧密集成的尝试。到目前为止,我看到的所有其他方法都避开了 Blaze 的大部分内容,并且需要在 JavaScript 中编写大量代码,这在 Meteor 中对我来说非常不自然。 Meteor 代码应该是小而简洁的,并且具有强大的结果。以下是它的一些示例:(每个模板形成一个 renderNode,任何 HTML 都放在 Surface 上。修饰符/视图/选项被指定为组件属性)
<template name="test">
{{#Surface size=reactiveSizeHelper}}
<p>hello there</p>
{{/Surface}}
{{#if loggedIn}}
{{>SequentialView direction="X" template='userBar' translate="[0,50]"}}
{{else}}
{{>Surface template='pleaseLogIn' origin="[0.5,0.5]"}}
{{/if}}
</template>
滚动视图(可拆分成子模板):
<template name="famousInit">
{{#Scrollview size="[undefined,undefined]" items=items}}
{{#famousEach items}}
{{#Surface size="[undefined,100]"}} {{name}} {{/Surface}}
{{/famousEach}}
{{/Scrollview}}
</template>
Template.famousInit.items = function() { return Items.find() };
事件:
Template.blockSpring.events({
'click': function(event, tpl) {
var fview = FView.dataFromTemplate(tpl);
fview.modifier.setTransform(
Transform.translate(Math.random()*500,Math.random()*300),
springTransition
);
}
});
它也适用于带有铁路由器的盒子。带有示例代码的现场演示:
http://famous-views.meteor.com/
关于滚动等,根据 johntraver 的回答,您可以将 CSS 溢出属性更改为滚动以返回滚动条,并且对于其中的所有内容,照常使用 Meteor 模板。该软件包根本不会妨碍 Meteor 的模板,而只是提供了一些额外的帮助程序,用于从模板内部声明表面、视图等(例如,用于列表的 Scrollview,它可以在 Meteor 编码的无限滚动机制上运行没有额外的工作)。