Ember.js 在组件内部传递组件中的操作的最佳实践
我正在组件内部传递组件中的操作。 一般来说,我使用的是这样的方法 home.hbs:Ember.js 在组件内部传递组件中的操作的最佳实践,ember.js,Ember.js,我正在组件内部传递组件中的操作。 一般来说,我使用的是这样的方法 home.hbs: {{layerOne action1="action1" action2="action2" action3="action3" action4="action4" }} home.js actions:{ action1: function () { //do something }, action2: function () { //do so
{{layerOne action1="action1" action2="action2" action3="action3" action4="action4" }}
home.js
actions:{
action1: function () {
//do something
},
action2: function () {
//do something
},
action3: function () {
//do something
},
action4: function () {
//do something
}
}
莱耶隆商学院
{{layerTwo action1="action1" action2="action2" action3="action3" action4="action4" }}
layerOne.js
actions:{
action1: function () {
this.sendAction('action1');
},
action2: function () {
this.sendAction('action2');
},
action3: function () {
this.sendAction('action3');
},
action4: function () {
this.sendAction('action4');
}
}
layerTwo.hbs
{{#paper-button onClick=(action "action1")}}Action 1{{/paper-button}}
{{#paper-button onClick=(action "action2")}}Action 2{{/paper-button}}
{{#paper-button onClick=(action "action3")}}Action 3{{/paper-button}}
{{#paper-button onClick=(action "action4")}}Action 4{{/paper-button}}
layerTwo.js
actions:{
action1: function () {
this.sendAction('action1');
},
action2: function () {
this.sendAction('action2');
},
action3: function () {
this.sendAction('action3');
},
action4: function () {
this.sendAction('action4');
}
}
如果我添加更多操作,我每次都必须逐个配置层的js文件和hbs文件。哈佛商学院也会很长。例如,{{layerOne action1=“action1”action2=“action2”action3=“action3”action4=“action4”等}
对于这种情况有什么最佳做法吗?谢谢。您可以使用闭包动作将动作处理程序从上层传递到下层
余烬中有两种不同的动作传递机制:
{{layerWO action1=“action1”
(需要在每个组件中调用sendActions
){{layerTwo action1=(操作“action1”)
(只需要将操作处理程序传递到底部。)(操作“action1”)
,则将搜索操作
哈希中的函数并将其传递给底部组件
如果使用不带引号的闭包操作,例如(操作action1)
,则该组件的函数将传递给底部组件。(该函数需要在该组件中定义或传递给该组件。)
理解闭包动作。您可以使用闭包动作将动作处理程序从上层传递到下层
余烬中有两种不同的动作传递机制:
{{layerWO action1=“action1”
(需要在每个组件中调用sendActions
){{layerTwo action1=(操作“action1”)
(只需要将操作处理程序传递到底部。)(操作“action1”)
,则将搜索操作
哈希中的函数并将其传递给底部组件
如果使用不带引号的闭包操作,例如(操作action1)
,则该组件的函数将传递给底部组件。(该函数需要在该组件中定义或传递给该组件。)
了解闭包动作。在我的示例中如何从主页->layerOne->layerTwo传递动作?只要在所有onClick中使用闭包动作?是的,如果不需要修改,只需传递。正如twiddle所示。在我的示例中如何从主页->layerOne->layerTwo传递动作?只要在所有onClick中使用闭包动作?是的,如果需要的话不需要修改它,只需通过即可。正如twiddle所示。