1
Ember 1.0.0 RC3附帶一個入門工具包,其中包含一個相當簡單的演示,用於在列表中顯示三種顏色。Ember數據的Ember入門工具包
模型數據直接插在IndexRoute這樣的:
App.IndexRoute = Ember.Route.extend({
model: function() {
return ['red', 'yellow', 'blue'];
}
});
我試圖改變這個簡單的演示使用燼數據(模型,商店,...)。但是,沒有成功。我演示的控制檯輸出爲:
DEBUG: ------------------------------- ember-1.0.0-rc.3.js:349
DEBUG: Ember.VERSION : 1.0.0-rc.3 ember-1.0.0-rc.3.js:349
DEBUG: Handlebars.VERSION : 1.0.0-rc.3 ember-1.0.0-rc.3.js:349
DEBUG: jQuery.VERSION : 1.9.1 ember-1.0.0-rc.3.js:349
DEBUG: ------------------------------- ember-1.0.0-rc.3.js:349
Uncaught TypeError: Cannot call method 'find' of undefined appDemo.js:8
Uncaught Error: assertion failed: an Ember.CollectionView's content must implement Ember.Array. You passed <(generated index controller):ember232> ember-1.0.0-rc.3.js:52
我修改的腳本是這樣的:
App = Ember.Application.create();
App.Router.map(function() {
// put your routes here
});
App.IndexRoute = Ember.Route.extend({
model: App.Color.find()
});
App.ColorsController = Ember.ArrayController.extend();
// Models
App.Store = DS.Store.extend({
revision: 12,
adapter: 'DS.FixtureAdapter'
});
App.Color = DS.Model.extend({
name: DS.attr('string')
});
App.Color.FIXTURES = [{name: 1}, {name: 2}, {name: 3}, {name: 4}, {name: 5}, {name: 6}];
我的HTML看起來像這樣:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Ember Starter Kit</title>
<link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<script type="text/x-handlebars">
<h2>Welcome to Ember.js</h2>
{{outlet}}
</script>
<script type="text/x-handlebars" data-template-name="index">
<ul>
{{#each color in controller}}
<li>{{color.name}}</li>
{{/each}}
</ul>
</script>
<script src="js/libs/jquery-1.9.1.js"></script>
<script src="js/libs/handlebars-1.0.0-rc.3.js"></script>
<script src="js/libs/ember-1.0.0-rc.3.js"></script>
<script src="js/libs/ember-data-latest.js"></script>
<script src="js/appDemo.js"></script>
</body>
</html>
我在做什麼錯?
太棒了,這個伎倆。在發佈的代碼中還有一個問題,即使修復也很簡單。夾具對象每個都需要一個id。新行看起來像這樣:App.Color.FIXTURES = [{id:1,name:1},{id:2,name:2},... – Daniel 2013-04-25 12:56:47
@Daniel Super :) – mbogh 2013-04-25 22:28:17