Javascript 余烬-控制器操作仅由输入字段调用,而不是由按钮调用
我正试图开始与灰烬,我有一个非常奇怪的问题。我在rails api应用程序的上下文中使用ember。下面的代码产生了一个非常意外的结果Javascript 余烬-控制器操作仅由输入字段调用,而不是由按钮调用,javascript,ruby-on-rails,ember.js,Javascript,Ruby On Rails,Ember.js,我正试图开始与灰烬,我有一个非常奇怪的问题。我在rails api应用程序的上下文中使用ember。下面的代码产生了一个非常意外的结果 <script type="text/x-handlebars" data-template-name="index"> {{input type="text" value=value action="doSomething"}} <button {{action doSomething }}>Button</button&
<script type="text/x-handlebars" data-template-name="index">
{{input type="text" value=value action="doSomething"}}
<button {{action doSomething }}>Button</button>
</script>
也许有人有一个想法或者一个如何调试这类问题的提示。
谢谢 在rails视图中,尝试将把手模板放在
主体
标记中,而不是头部
:
<html lang='en'>
<head>
<%= stylesheet_link_tag :application, :media => :all %>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/handlebars.js/1.0.0/handlebars.min.js"></script>
<script src="//builds.emberjs.com/beta/ember.js"></script>
<script src="//builds.emberjs.com/beta/ember-data.js"></script>
<%= javascript_include_tag :application %>
<title>Title</title>
</head>
<body>
<script type="text/x-handlebars" data-template-name="index">
{{input type="text" value=value action="doSomething"}}
<button {{action doSomething }}>Button</button>
</script>
</body>
</html>
我仍然不知道问题出在哪里,但在将
ember
和ember数据的包含从index.html.erb
移动到application.js
后,问题就消失了。我还添加了gemember-rails
,不幸的是,这并没有改变任何事情。你知道如何追踪点击事件吗?点击
被触发了。我不知道这是否与我的问题有关,但event.currentTarget引用的是视图而不是按钮。
/*
*= require handlebars
*= require_self
*= require store
*= require routes
*= require_tree ./controllers
*= require_tree ./models
*= require_tree ./templates
*= require_tree ./views
*/
App = Ember.Application.create({
LOG_TRANSITIONS: true,
LOG_ACTIVE_GENERATION: true
});
App.IndexController = Ember.ArrayController.extend({
actions: {
doSomething: function() {
alert('doSomething()');
}
}
});
App.ApplicationAdapter = DS.FixtureAdapter.extend();
<html lang='en'>
<head>
<%= stylesheet_link_tag :application, :media => :all %>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/handlebars.js/1.0.0/handlebars.min.js"></script>
<script src="//builds.emberjs.com/beta/ember.js"></script>
<script src="//builds.emberjs.com/beta/ember-data.js"></script>
<%= javascript_include_tag :application %>
<title>Title</title>
</head>
<body>
<script type="text/x-handlebars" data-template-name="index">
{{input type="text" value=value action="doSomething"}}
<button {{action doSomething }}>Button</button>
</script>
</body>
</html>
App.IndexView = Ember.View.extend({
click: function(event) {
debugger;
}
});