0

新しいアイテムを作成または編集するときに同じように不可欠なフォームの繰り返しテンプレート コードを避けようとしています。

たとえば、次のようなものです。

<template name="createOrEdit">

   <form role="form">

      <div class="form-group">
         <input type="text" class="form-control" id="title" placeholder="Title"/ value="{{title}}">
      </div>

      <button type="submit" class="btn btn-default">Submit</button>

   </form>

</template>

<template name="create">   
  {{> createOrEdit}}
</template>

<template name="edit">   
  {{> createOrEdit}}
</template>

次に、個別のテンプレート ハンドラーを作成できます。

Template.create.events(...
Template.edit.events(...

ただし、これらの親テンプレート ラッパーは、メインの子テンプレートのイベントを取得しません。

私がやりたいことをする方法はありますか?

4

1 に答える 1

2

これらの親テンプレートは、子テンプレートからイベントを取得できます。次のように使用します。

Template.create.events({
  'click .btn':function(){

  }
})

Template.edit.events({
  'click .btn':function(){

  }
})

オブジェクトではTemplate.createOrEdit.events、テンプレートとそれぞれの特定のコードの両方で使用されるイベントを保持Template.edit.eventsTemplate.create.eventsます。

証拠ソースコードを見る

このアプローチは、いくつかの変数を渡すことでフォームをカスタマイズできるため、非常に優れています。

{{# create btnText="create" }}{{/create}}
{{# edit btnText="update" }}{{/edit}}

createOrEditテンプレートでは、変数を使用してボタンのラベルを変更できますbtnText

于 2014-09-10T21:03:40.430 に答える