无法从不同的组件发送相同的操作

时间:2015-10-27 08:56:04

标签: ember.js coffeescript

我有两个应该向控制器发送操作的组件,但只有其中一个可以正常工作

我的控制器:

`import Ember from "ember"`

CourseIndexController = Ember.ObjectController.extend
  actions:
    openStep: (unit, step, routeName)->
        @transitionToRoute(routeName, unit, {queryParams: {scope: step}})
`export default CourseIndexController`

我的组件:

UnitTableStateComponent = Ember.Component.extend  
  step: ''
  unit: ''

  openStep:( ->
    @sendAction('action', @get('unit.id'), @get('step'), 'unit')

  ).on('click') //it works
`export default UnitTableStateComponent;`


ExamTableStateComponent = Ember.Component.extend
  exam: ''
  step: ''
  openStep:( ->
    @sendAction('action', @get('exam.id'), @get('step'), 'exam')

  ).on('click') //id does not works
`export default ExamTableStateComponent;`

我无法理解ExamTabeStateComponent或整个代码的错误

ember版本:1.13.8

1 个答案:

答案 0 :(得分:1)

当您添加组件时,请通过kristjan提到的操作

oneStep: function(){
    this.sendAction("oneStep");
}

然后在组件控制器中,您可以执行此操作

$typelabel_count = substr_count($data, 'typelabel');

你可以为这两个组件做到这一点,并且应该有更好的运气 - 请告诉我。

旁注,组件名称应包含“ - ”如果我没有弄错