Blaze と Famous を緊密に統合する試みとして、famous-componentsのプレビューをリリースしました。私がこれまで見てきた他のすべてのアプローチは、Blaze の大部分を回避しており、JavaScript で大量のコードを記述する必要があり、Meteor では非常に不自然に感じました。Meteor のコードは、小さく、簡潔で、簡単で強力な結果をもたらす必要があります。それがどのように見えるかのいくつかの例を以下に示します: (各テンプレートは renderNode を形成し、HTML は Surface に配置されます。モディファイア/ビュー/オプションはコンポーネント属性として指定されます)
<template name="test">
{{#Surface size=reactiveSizeHelper}}
<p>hello there</p>
{{/Surface}}
{{#if loggedIn}}
{{>SequentialLayout template='userBar' direction="X"}}
{{else}}
{{>Surface template='pleaseLogIn' origin="[0.5,0.5]"}}
{{/if}}
</template>
Scrollview (サブテンプレートに分割可能):
<template name="famousInit">
{{#Scrollview size="[undefined,undefined]"}}
{{#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.fromTemplate(tpl);
fview.modifier.setTransform(
Transform.translate(Math.random()*500,Math.random()*300),
springTransition
);
}
});
また、鉄ルーターで箱を加工します。詳細、ドキュメント、ライブ デモはすべて
http://famous-views.meteor.com/にあります。