流星+ MVVM =❤



その後、ツールボックスを選択する男のような記事が点滅し、彼は何も書くことができなかった。 これは私についてです! 元日、 ViewModel.orgを見つけました。 そして、内部には美しい双方向バインディングがあります。 しかし、「余分な」詳細が混在したレンチが散らばっているガレージの引き出しの感覚は通用しません。 独自のデモで松葉杖 、ジージーをねじ込む方法の良い例です。 そして、私は4か月間立ち往生しています-仕事の後の夜の趣味です。 私はすべてのパッケージを調べましたが 、少なくともBlazeには何とか役立ちます。 著者を嘆願して...結果として、私は新しい名前のTemplate2の自転車を組み立てました。







ご存知のように、単純に行うことは非常に困難です。 それをチェックしてください:









 <body> {{> hello param="123"}} </body> <template name="hello"> <p>props.param {{props.param}}</p> <p>state.value {{state.value}}</p> <form> <input value-bind="value"/> <button type="submit">Submit</button> </form> <p>{{state.errorMessages}}</p> </template>
      
      





 //  -  ! Template2('hello', { //  ,     propsSchema: new SimpleSchema({ param: { type: String } }), //    modelSchema: Posts.simpleSchema(), //     states: {}, //      ,    Template.instance() helpers: {}, events: {}, //      ,    Blaze onCreated() {}, onRendered() {}, onDestroyed() {}, }); //        ,    Template.instance() Template.hello.eventsByInstance({ 'submit form': function(e) { e.preventDefault(); // Get doc after clean and validation for save to model this.viewDoc(function(error, doc) { if (error) return; Posts.insert(doc); }); } }); //       . Template.hello.onRendered(function() { var self = this; this.autorun(function() { var doc = Posts.findOne(); if (doc) { // Set doc from model to view self.modelDoc(doc); } }); });
      
      





デモを実行しますか? 簡単:







 $ git clone https://github.com/comerc/meteor-template2.git $ cd meteor-template2 $ meteor
      
      





http:// localhost:3000







なぜ写真ですか? これは、 Meteor + MVVMカクテルの後の気持ちです。








All Articles