TypeError:Application.registerInjection不是函数

时间:2013-04-24 06:45:55

标签: javascript ember.js

我是ember.js的新手,并尝试了解ember,但现有示例“使用Ember.js构建应用程序”无法正常工作,我面临一些TypeError TypeError: Application.registerInjection is not a function,我包含了脚本

<script src="js/libs/jquery-1.9.1.js"></script>
<script src="js/libs/handlebars-1.0.0-rc.3.js"></script>
<script src="js/libs/ember-1.0.0-rc.3.js"></script>
<script src="js/libs/ember-data-latest.js"></script>

我不明白如何解决它,有人可以帮助我吗?

我的app.js代码是

App = Ember.Application.create();

App.Store = DS.Store.extend({
revision: 12,
adapter: 'DS.FixtureAdapter'
});

App.Router.map(function() {
  this.resource('posts');
  this.resource('about');
});

App.PostRoute = Ember.Route.extend({
model: function() {
    return App.Post.find();
}
});

App.Post = DS.Model.extend({
title: DS.attr('string'),
author: DS.attr('string'),
intro: DS.attr('string')    
});

App.Post.FIXTURES = [{
id: 1,
title: "Ember leaning",
author: "Anand",
intro: "Write dramatically less code with Ember's Handlebars integrate templates    that update automatically when the underlying data changes."
}, {
id: 2,
title: "A framework for creating ambitious web application",
intro: "Don't waste time making trivial choices. Ember.js incorporates common idioms so you can focus on what makes your app special, not reinventing the wheel."
}];

我的index.html代码是

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Ember Starter Kit</title>
   <link rel="stylesheet" href="css/normalize.css">
   <link rel="stylesheet" href="css/bootstrap.min.css">
   <link rel="stylesheet" href="css/style.css">
</head>
<body>

 <script type="text/x-handlebars">
 <div class="navbar">
  <div class="navbar-inner">
    <a class="brand" href="#">Bloggr</a>
      <ul class="nav">
        <li>{{#linkTo 'posts'}}Posts{{/linkTo}}</li>
        <li>{{#linkTo 'about'}}About{{/linkTo}}</li>
      </ul>
  </div>
 </div>

{{outlet}}    
 </script>

 <script type="text/x-handlebars" id="posts">
 <div class="container-fluid">
  <div class="row-fluid">
    <div class="span3">
      <table class="table">
        <thead>
          <tr>
            <th>Recent Post</th>
          </tr>
        </thead>
        {{#each model}}
        <tr>
          <td>
            <a href="#">{{title}}<small class="muted"> by {{Author}}</small></a>
          </td>
        </tr>
        {{/each}}
      </table>
    </div>
    <div class="span9">
    </div>
  </div>      
 </div>
 </script>

 <script type="text/x-handlebars" id="about">
 <div class='about span12 hero-unit'>
   <p>IDEX Solution&#8217;s aims to provide solutions for Linux Platform, located in Gandhidham, Gujarat. Here at IDEX,  we provide services to small / medium businesses and home users who want to enjoy the power of Linux.
  </p>
  <p>Whilst as a company, we were formed in Jan 2004, Company&#8217;s founder is working on Linux since 1995. We use Linux in everyday of our lives on our Laptops, Desktops and Servers.
  </p>
  <p>We specialize in providing Tailor Made Software Solutions for our clients in very affordable prices. Since we use all Open Source Software, which help us to keep our prices very low, so our clients can enjoy this benefit. Visit our <a href="http://idexindia.com/products">Products</a> page for more information on our existing products, we also provide other services as well, kindly visit our <a href="http://idexindia.com/services">Services</a> page for more information.
  </p>
</div>
</script>

<script src="js/libs/jquery-1.9.1.js"></script>
<script src="js/libs/handlebars-1.0.0-rc.3.js"></script>
<script src="js/libs/ember-1.0.0-rc.3.js"></script>
<script src="js/libs/ember-data-latest.js"></script>
<script src="js/app.js"></script>

</body>
</html>

1 个答案:

答案 0 :(得分:5)

首先,您应该从控制台中的错误消息中注意到问题出在“ember-data-latest.js”中。您无需发布所有应用程序代码。 其次,在GitHub上找到的ember-data-latest.js与ember的最新更改不是最新的。你可以在这里找到一个适用的ember-data版本:

http://builds.emberjs.com.s3.amazonaws.com/ember-data-latest.js