私は新しいルーターと新しい Ember コード (バージョン: v1.0.0-pre.2-366-g4772b18) を試していますが、少し困っています。簡単なことをしたい: リンクをクリックすると、その状態に移動する必要があります。
しかし、代わりに次のエラーが発生します。
アサーションが失敗しました: 未定義のオブジェクトで 'id' を使用して get を呼び出すことはできません。
エラーをトリガーするには、大きな赤いタイトルをクリックします。上の最初のもの - 「Ember Ready」と書かれているもの。
私は JSFiddle を持っていませんが、ここでライブ サイトを確認できます: http://eduardmoldovan.com/基本的に同じコードをそこにプッシュしました。
私のコード:
var Ngin = window.Ngin = Ember.Application.create({
ready: function() {
"use strict";
this.set("Router.enableLogging", true);
this.set("Router.location", "history");
},
customEvents: {
blur: "blur",
paste: "paste",
changed: "changed"
}
});
DS.RESTAdapter.configure("plurals", {
article: "article"
});
Ngin.Store = DS.Store.extend({
revision: 11,
adapter: DS.RESTAdapter.create({
namespace: "private-api",
bulkCommit: true
})
});
Ngin.Article = DS.Model.extend({
title: DS.attr("string"),
lead: DS.attr("string"),
url: DS.attr("string"),
pubdate: DS.attr("date"),
channel: DS.attr("string")
});
Ngin.IndexController = Ember.ObjectController.extend({
content: [],
goToArticle: function() {
"use strict";
this.get('target').transitionTo("article");
}
});
Ngin.IndexModel = DS.Model.extend({});
Ngin.ApplicationView = Ember.View.extend({
templateName: "page"
});
Ngin.Router.map(function(match) {
"use strict";
match("/").to("index");
match("/technical/:url/").to("article");
});
Ngin.IndexRoute = Ember.Route.extend({
setupController: function(controller) {
"use strict";
var all,
latestOne,
latestList;
latestOne = Ngin.Article.find({
filter: 'latest-one'
});
latestList = Ngin.Article.find({
filter: 'latest-list'
});
controller.set('latestOne', latestOne);
controller.set('latestList', latestList);
},
renderTemplate: function() {
"use strict";
this.render("header", {
outlet: "header"
});
this.render("index", {
outlet: "content"
});
this.render("footer", {
outlet: "footer"
});
}
});
Ngin.ArticleRoute = Ember.Route.extend({
model: function(params) {
"use strict";
console.log('ede');
return Ngin.Article.find(params.url);
},
setupController: function(controller) {
"use strict";
},
renderTemplate: function() {
"use strict";
}
});
$("body div").remove();
Ngin.initialize();
そして、次のような単純なアクション:{{action goToArticle}}
誰が何を呼びたいのかよくわかりません。これについて何か考えはありますか?私は答えや例を探していましたが、幸運ではありませんでした。