我使用的是来自Emebr JS的启动套件,并在应用程序模板中添加了一个简单的锚标签。
我正在用车把预编译器预编译模板。当我尝试运行此问题时,它会引发错误。
未被发现的错误:找不到属性'动作'
以前,我曾经用 ember-1.0.pre.js 做同样的事情,这很好。但是,当我包括新的Ember库( Ember-1.0.0.0.2.2.js )时,它正在抛出此错误。
在两种情况下,我都使用 handlebars-1.0.rc.1.min.js 。
任何人都可以帮助我解决问题。下面列出了我使用的车把和库的详细信息。
模板与车把前编译器编译。application.handlebars
<h1>Hello from Ember.js</h1>
<a {{action hello}}>Say Hello!</a>
我的HTML页面:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/libs/jquery-1.7.2.min.js"></script>')</script>
<script src="js/libs/handlebars-1.0.0.beta.6.js"></script>
<script src="js/libs/ember-1.0.0-pre.2.min.js"></script>
<script src="handlebars/compiled/views.handlebars.js"></script>
<script src="js/app.js"></script>
views.handlebars.js包含编译的车把。
app.js:
var App = Ember.Application.create();
App.ApplicationController = Ember.Controller.extend();
App.ApplicationView = Ember.View.extend({
templateName: 'application'
});
App.Router = Ember.Router.extend({
root: Ember.Route.extend({
index: Ember.Route.extend({
route: '/'
}),
hello: function() {
console.log("Hello and Welcome");
}
})
})
App.initialize();
当对ember进行预编译时,您需要使用ember.handlebars而不是车把。我怀疑这可能是问题。
更多讨论:Emberjs车把预编译
感谢您的链接,但是我开始使用Ember-treciles而不是车把预兼容。您可以在https://github.com/gabrielgrant/node-ember-precompile
上找到ember-precile此模块使用较旧的车把和ember库,然后运行此模块必须将库升级到最新版本,然后运行它。可以在" index.js"中修改库的路径。添加最新的库和修改" index.js"对我有用。