提问者:小点点

EmberJS:找不到属性“动作”


我正在使用EmebrJS的入门套件,并向应用程序模板添加了一个带有{{action hello}}的简单锚标记。

我正在使用车把预编译器预编译模板。当我尝试运行它时,它抛出了一个错误。

未捕获错误:找不到属性“操作”

以前我曾经对enpe-1.0. pre1.js做过同样的事情,它工作得很好。但是当我包含新的Enpe-1.0.0-pre2.js库时,它会抛出这个错误。

在这两种情况下,我都使用车把-1.0. rc.1.min.js。

有人能帮我解决这个问题吗?下面列出了我使用的车把和库的详细信息。

使用车把预编译器编译的模板. application.handlebar

<h1>Hello from Ember.js</h1> 
<a {{action hello}}>Say Hello!</a>

我的超文本标记语言页面:

<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. handlebar.js包含编译后的handlebar。

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();

共2个答案

匿名用户

当预编译余烬车把视图时,您需要使用Ember。车把,而不是车把。我怀疑这可能是问题所在。

更多讨论在这里:Emberjs处理条预编译

匿名用户

谢谢你的链接,但是我开始使用enpe-precompile而不是handlebar预编译。你可以在https://github.com/gabrielgrant/node-ember-precompile找到enpe-precompile

该模块使用较旧的车把和余烬库,在运行之前必须将库升级到最新版本,然后运行它。库的路径可以在“index. js”中修改。添加最新库和修改“index.js”对我很有用。