2017-07-17 13 views
0

bs-form内のbs-buttonをコンポーネントアクションに接続する正しい方法は何ですか?bs形式のbsボタンをコンポーネントアクション(ember-bootstrap)に接続


私がやりたいと、すでに試みているかについてのいくつかの背景:

私は0.11.3から1.0に2.10から2.14とエンバー・ブートストラップにエンバーのアップグレードプロセスにいますよ。 ember-bootstrapに問題が発生しました。

「保存」と「キャンセル」という2つのボタンがフォーム(bs-form)にあります。 フォームはEmberコンポーネントでホストされています。私はちょうど2つのbs-buttonの要素を持っていた古いバージョンでは、次のように:コンポーネントクラスで

{{bs-button defaultText="Save" type="primary" action="save"}} 
{{bs-button defaultText="Cancel" type="primary" action="cancel"}} 

、私は、一致するアクションを定義していない:

actions: { 
    save() { /* do saving stuff */ } 
    cancel() { /* do cancelling stuff */ } 
} 

今これはもはや作品:bs-buttononClickの代わりを使用していますaction今のところ、onClick="save"を追加しても機能しません(私は​​となります)。また、onClick=(action "save")が機能しません(Assertion Failed: An action named 'save' was not found in (generated edit-organization controller))。

bs-buttonしかしactionヘルパーと一緒に通常のbutton要素を使用しない場合しかし、それだけで正常に動作します:

<button class="btn btn-default" {{action 'cancel'}}>Cancel</button> 
<button class="btn btn-primary" {{action 'save'}}>Save</button> 

私は、問題がフォームをホストするコンポーネントの使用に関連している疑いがあります;結局、燃えさし-ブートストラップドキュメントは、アクションがするために使用されている状態...

あなたのコントローラにアクションを送信します。

まだコンポーネントを使用したいのですが(結局のところ、コントローラは遠ざかりますか?)。これに関する助けに感謝します。

答えて

0

クロージャーアクションを作成し、bs-buttonコンポーネントに渡すことができます。コンポーネント内部

{{bs-button defaultText="Save" type="primary" save=(action "save")}} 
{{bs-button defaultText="Cancel" type="primary" cancel=(action "cancel")}} 

<button class="btn btn-default" {{action cancel}}>Cancel</button> 
<button class="btn btn-primary" {{action save}}>Save</button> 
+0

私が正しく理解していれば、あなたの説明は、BS-ボタンコンポーネントを修正する方法についてです。しかし、bs-buttonは私のコンポーネントではありませんが、ember-bootstrapアドオンの一部です。私が探しているのは、どうやってこのアドオンを正しく使うのか、どうやって自分自身の機能を書くのかということではありません。 –

+0

ああ申し訳ありません。今私はあなたの問題を理解しました。私はあなたがアクションをコントローラに定義する必要があると信じています、それは[1.0.0 alphaリリース]で導入された大きな変化です(https://github.com/kaliber5/ember-bootstrap/blob/master/CHANGELOG.md#100-alpha3- 2017-01-21)。 DDAUの原則を遵守する。私はこれを使わなかった。あなたはember slackコミュニティで活動する著者@imimihmigからこれを確認できます – kumkanillam

+0

Ok thx、私はそれを試してみましょう! –

関連する問題