ember js在我的路线上触发动作

时间:2018-01-07 23:42:45

标签: javascript ember.js routes action

当前网址:http://localhost:4200/bands

router.js:

Router.map(function() {
    this.route('bands', function(){
        this.route('band', {path: ':slug'}, function(){
          this.route('songs');
          this.route('albums');
      });
    });
});

应用程序/路由/ bands.js

export default Route.extend({
    actions: {
      createBand: function(){
         this.get('controller').set('name', '');
      }
    }
});

应用程序/模板/ bands.hbs

{{input type="text" class="new-band" placeholder="New Band" value=name}}
<button class="btn btn-primary btn-sm new-band-button" {{action 'createBand'}}>Add</button>

看起来无法触发createBand()函数。 我错过了什么吗?

2 个答案:

答案 0 :(得分:0)

.hbs文件中给出的操作将在controller中实施,但您已在route中实施了这些操作。 如果在controller中找不到该操作,则会转到route

更新了JS Bin

它应该有用。

答案 1 :(得分:0)

我最终做了以下工作以使其发挥作用:

onclick={{action "createBand"}}