我有一个简单的 Ember 应用程序,但我花了 5 个小时才让 {{action}} 工作,但没有任何运气。我已经尝试了3次我能想到的一切,但我被卡住了。我有最少的路由器。{{outlet}} 中默认显示一个 index.handlebars,并且有一个指向定价页面的链接,当成功点击该链接时会跳转到定价页面。在定价页面中,我尝试使用 a 和 a 来包含一个 {{action showMessage}},它在 PricingController 中有相应的方法。查看 Chrome 中的 ember-extension,我可以看到 PricingController 确实与视图相关联。但是该方法永远不会被调用。我真的不知道还能尝试什么。
application.handlebars:
<div class='navbar navbar-inverse navbar-fixed-top'>
<div class='navbar-inner'>
<div class='container'>
<div class='nav-collapse collapse'>
<ul class='nav'>
<li>{{#linkTo 'pricing'}}Prijzen{{/linkTo}}</li>
</ul>
</div>
</div>
</div>
</div>
<div class='container' id='main'>
<div class='content'>
<div class='row'>
<div class='span12'>
<div class='page-header'></div>
{{outlet}}
</div>
</div>
</div>
</div>
App.Router.map(function() {
this.route('pricing');
});
App.ApplicationRoute = Ember.Route.extend({
});
App.PricingRoute = Ember.Route.extend({
});
定价.车把:
<h1>some text</h1>
<a href="#" {{action showMessage}} class='btn btn-primary btn-large'>order</a>
<button {{action showMessage}}></button>
App.PricingController = Ember.Controller.extend({
showMessage: function() {
toastr.info('info');
}
});