0

私はemberjsから始めたばかりです。上部に 2 つのリンク (About と Posts) がある単純な index.html ページを作成しています。これは、emberjs ホームページの標準的な例に従っています。ブラウザにエラーが表示される

「キャッチされていない TypeError: 未定義のメソッド 'map' を呼び出せません」

つまり、これはルーターが定義されていないことを意味します。何故ですか?

app.js コードは次のとおりです。

var App = Ember.Application.create();

App.router.map(function(){

});

だから私はそれを定義しようとしました...

var App = Ember.Application.create();

App.Router = Ember.Router.extend({
  enableLogging: true,
  location: 'hash'
});

App.Router.map(function(){

});

それでもエラーが発生します。私は混乱しています :(。

4

3 に答える 3

0

リソースはエンドポイントではありません。次のことを試してください。

App.Router.map(function() {

  this.resource('about', function() {
  });

});
于 2013-04-02T12:42:10.080 に答える
0

それで、スタックオーバーフローに関する別の質問に出くわしました。http://goo.gl/JVEs9。リンクから ember のバージョン (1.0.0-pre.2) を取得し、次のようにコードを書き直しました。

var App = Ember.Application.create();

App.Router.map(function(match){
    match('/').to('index');
    match('about').to('about');  
});

これはうまくいくようです。私はまだ得ることができません:

var App = Ember.Application.create();

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

エラーが発生します

キャッチされていない TypeError: オブジェクト # にはメソッド 'resource' がありません

于 2013-04-02T01:09:41.747 に答える