3

私はこのルーターコードを使用しています:

Ngin.Router.map(function(match) {
    "use strict";
    this.route('index', {path: '/'});
    this.route('article', {path: '/technical/:url/'});
});

serializeモデルからその記事のデータを取得できるように、メソッドでクリックされた要素の URL を取得する必要があります。の場合にこれを行う方法は明らかですが、 でidこれを行う方法についての手がかりがありませんurl

4

2 に答える 2

3

Ember の場合と同様に、解決策は簡単です。慣れる必要がある唯一のことは、Ember は jQuery ではなく、Ember のコンテキストはデータ、別名モデルである (またはそうあるべきである) ということです。

Ngin.ArticleRoute = Ember.Route.extend({
    serialize: function(model) {
        "use strict";
        return {
            url: model.get("url") + "/"
        };
    }
});

この場合、コンテキストは次のように設定する必要があります。

{{#linkTo "article" article}}{{article.title}}{{/linkTo}}

これです。それと同じくらい簡単です。

于 2013-01-19T08:10:05.837 に答える
1

このような方法でルートを再定義できます

Ngin.Router.map(function(match) {
    "use strict";
    this.route('index', {path: '/'});
    this.route('article', {path: '/technical/:url/'});
});

Ngin.ArticleRoute = Ember.Route.extend({
  model: function(params) {
    return Ngin.Article.find({'url': params.url});
  }
});

http://emberjs.com/guides/routing/specifying-a-routes-model/#toc_dynamic-modelsを参照してください

于 2013-01-18T21:51:05.183 に答える