1

この jsfiddleから EmberJS のバージョンに更新しました。

コントローラー/ビュー:

App = Em.Application.create();

// Instantiated and wired up for you in App.initialize()
App.ApplicationController = Em.Controller.extend();
App.ApplicationView = Em.View.extend({
  templateName: 'application'
});
App.NavbarController = Em.Controller.extend();
App.NavbarView = Em.View.extend({
  templateName: 'navbar'
});
// Your stuff
App.HomeController = Em.Controller.extend({});
App.HomeView = Em.View.extend({
  templateName: 'home'
});

App.ProfileController = Em.Controller.extend({});
App.ProfileView = Em.View.extend({
  templateName: 'profile'
});

// Nested views in the profile
App.PostsController = Em.Controller.extend({});
App.PostsView = Em.View.extend({
  templateName: 'posts'
});

App.PhotosController = Em.Controller.extend({});
App.PhotosView = Em.View.extend({
  templateName: 'photos'
});

私は新しいルーターを使用してきましたが、いくつかの奇妙な動作が発生し、更新によって解決されることを期待していましたが、残念ながら次の警告とエラーが表示されます。

WARNING: Computed properties will soon be cacheable by default. To enable this in your app, set ENV.CP_DEFAULT_CACHEABLE = true. vendor.js:54720
Uncaught TypeError: Object function () { return initMixin(this, arguments); } has no method 'finishPartial' vendor.js:42905

ここで何が起こっているのか、誰にも手がかりがありますか?

4

2 に答える 2

2

あなたのjsfiddleを出発点として、私が持っている唯一のエラーは、ルーターを定義するために Em.Route の代わりに Em.State を使用することです。

最新バージョンの ember では、Em.Route を使用する必要があります。

于 2012-07-16T07:22:48.070 に答える
0

このエラーは、関数の結果を操作する必要があるときに、コードが関数のメソッドを呼び出そうとしていることを示しています。たとえば、myFunction.finishPartial();代わりにmyFunction().finishParital();

Em.Mixin の簡単なグーグルは、このワイルドな推測を提案するように私を導きます:

Em.Mixin.create().finishPartial(this)

于 2012-07-20T17:21:56.663 に答える