2

私はember-route-action-helperを使用しています

次のようなコンポーネント シムがあります。

{{component-name model=model 
action1=(route-action "action1") 
action2=(route-action "action2") 
action3=(route-action "action3") 
action4=(route-action "action4") 
action5=(route-action "action5") 
action6=(route-action "action6") 
action7=(route-action "action7") 
action8=(route-action "action8")
action9=(route-action "action9") 
action10=(route-action "action10")
action11=(route-action "action11")
action12=(route-action "action12") 
action13=(route-action "action13") 
action14=(route-action "action14")
}}

PS上記のアクションは実際のアクション名を使用していません

ルートにバブリングする必要がある多くのアクションがあり、ember アプリではコントローラーを使用しません。

アクションが多すぎるため、これは少しぎこちなく見えます。.hbsこの同じ情報を別の形式で表現したり、コンポーネントファイルまたはファイルの別の場所に書き込む方法はあり.jsますか?

4

3 に答える 3

1

ショートカットが1つあると思いますroute-action。コンポーネントから直接呼び出して、ずっと下に渡さずに試すことができます。

<button {{action (route-action 'appRouteAction') }}>My-Component button</button>

このember-twiddleを確認してください。よくわかり ませんが、これは正しいアプローチですか?

于 2016-12-31T15:23:22.563 に答える