我已經定義了一個View子類MenuitemView,我從模板中引用(見下文)。但是Ember找不到它。我不斷收到此錯誤: 錯誤:斷言失敗:無法在路徑'App.MenuitemView'中查找視圖。我錯過了什麼?Ember找不到我的視圖
初始化代碼:
window.require.register("initialize", function(exports, require, module) {
var App;
App = require('app');
App.Router.map(function(){});
require('routes/IndexRoute');
require('templates/menuitem');
require('templates/application');
require('templates/index');
App.initData();
});
視圖定義:
window.require.register("views/MenuItemView", function(exports, require, module) {
var App;
App = require('app');
module.exports = App.MenuitemView = Em.View.extend({
templateName: 'menuitem',
visibility: function(){
if (App.selectedDishType && !App.selectedDishType === this.get('dish').get('type')) {
return 'invisible';
} else {
return '';
}
}
});
});
模板參照視圖(模板/ index.hbs):
{{#each item in content}}
{{view App.MenuitemView itemBinding=item}}
{{/each}}
視圖模板(模板/菜單項。 hbs)
<div class="dishitem">
<div class="dishimage">
{{thumbnail item.dish.identifier}}
</div>
<div class="dishdetails">
<p class="dishname">{{uppercase item.dish.name}}</p>
<p class="dishdescription">{{item.dish.description}}</p>
<ul class="packages">
{{#each package in item.packages}}
<li>
<span class="packageprice">€ {{package.price}}</span>
<span class="packagespec">
{{#if package.description}}({{package.description}}){{/if}}
</span>
</li>
{{/each}}
</ul>
</div>
</div>
我可能會說一些明顯的,window.require.register構造對我來說是未知的,但如果它找不到App.MenuitemView,那麼我會查看JavaScript命名空間並測試您是否能夠調用該對象。簡單的定義了項目調用alert(App); alert(App.MenuitemView);看看會發生什麼,並可能與調試器一起玩。 – Ragnar