【问题标题】:Ember JS app shows blank pageEmber JS 应用程序显示空白页
【发布时间】:2014-03-22 21:51:14
【问题描述】:

我正在基于网站上的Beginner's Guide 创建一个简单的 Ember JS 应用程序。但是,我似乎无法在页面上呈现任何内容。当我检查 Ember Inspector 时,我的路线都存在,而且我没有看到任何错误,因此无法立即明确问题出在哪里。

这是html文件:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Coin</title>
  <link rel="stylesheet" href="css/normalize.css">
  <link rel="stylesheet" href="css/style.css">
  <link rel="stylesheet" href="css/bootstrap.min.css">
</head>
<body>
  <script type="text/x-handlebars">
    <div>Hello</div>
    {{outlet}}
  </script>
  <script type="text/x-handlebars" id="accounts">
    <div>accounts</div>
    <div class="col-md-2">
        <ul class="nav nav-pills nav-stacked">
            {{#each}}
            <li>account link {{#link-to 'account' this}}{{name}}{{/link-to}}</li>
            {{/each}}
        </ul>
    </div>

    <div class="col-md-10">
        {{outlet}}
    </div>
  </script>

  <script type="text/x-handlebars" id="account">
    <ul>
      {{#each}}
      <li>{{comment}}</li>
      {{/each}}
    </ul>
  </script>

  <script src="js/libs/jquery-1.10.2.js"></script>
  <script src="js/libs/handlebars-1.1.2.js"></script>
  <script src="js/libs/ember-1.4.0.js"></script>
  <script src="js/app.js"></script>
  <script src="dist/js/bs-core.min.js"></script>
  <script src="dist/js/bs-nav.min.js"></script>
  <!-- to activate the test runner, add the "?test" query string parameter -->
  <script src="tests/runner.js"></script>
</body>
</html>

这是我的 app.js 文件:

App = Ember.Application.create();

App.Router.map(function() {
    this.resource('accounts');
    this.resource('transactions', { path: ':accounts_id' });
})

App.AccountsRoute = Ember.Route.extend({
    model: function() {
        return accounts;
    }
})

App.TransactionsRoute = Ember.Route.extend({
    model: function() {
        return transactions;
    }
})





var accounts = [{
    id: 1,
    name: 'Account 1',
}, {
    id: 2,
    name: 'Account 2'
}];

var transactions = [{
    id: 1,
    id_account: 1,
    amount: 12,
    comment: 'blah'
}, {
    id: 2,
    id_account: 1,
    amount: 5,
    comment: 'blah2'
}, {
    id: 3,
    id_account: 2,
    amount: 98,
    comment: 'blah4'
}];

在页面上正确呈现的一件事是应用程序模板中的“Hello”。当我导航到 #/accounts 或任何其他定义的路线时,{{outlet}} 中没有显示任何内容。事实上,当我在 url 中添加 #/accounts 时,甚至我的“Hello”都消失了。

我忽略了一些明显的东西吗?我是 Ember 的新手,所以我确定这很愚蠢,但我无法从文档中找出问题所在。

编辑:我使用的是直接从网站链接的 Ember v1.4.0,并且我在 Ember Inspector 中选中了“允许访问文件 url”。

【问题讨论】:

    标签: ember.js


    【解决方案1】:

    我制作了你在ember jsbin 中开始的工作版本

    我注意到你做错了是试图用这个{{#link-to 'account' this}} 链接到一个不存在的路由。您没有定义我注意到您想要接收参数的帐户路由。但是我认为您想在迭代中发送当前项目的 id。因此,您只需将其更改为 {{#link-to 'account' id}} 即可。

    因此,要实现某些工作,需要进行 2 项重要修改,即添加路由并修复 link-to 助手的参数。然后我只是假设您也想显示交易并修复它。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-22
      • 2014-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多