我剛從this jsfiddle更新到EmberJS的版本。Emberjs最新版本與路由器錯誤:沒有方法'finishPartial'
控制器/視圖:
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
任何人有任何線索可能會在這裏?
使用控制檯的堆棧跟蹤找到你的代碼觸發錯誤的行。發佈代碼和堆棧跟蹤。 – 2012-07-14 22:37:59
Hey Zack,錯誤來自Ember庫,很難說它來自哪裏,因爲我所有的js都被編譯成一個大的vendor.js文件。這是它跌倒的方法: 'Ember.Mixin.finishPartial(this);' 讓我知道你是否需要我得到更詳細的東西。謝謝你的幫助。 – 2012-07-15 16:18:54