Zaczynam od Embera i podążam za tym tutorial. Pobrałem ostatnie źródło z ember.js internecie i mam następujący kod:Uncaught TypeError: Prototyp obiektu może być tylko obiektem lub wartością pustą na ember-1.0.0-pre.2
HTML
<!doctype html>
<html>
<head>
<script src="js/libs/jquery-1.7.2.min.js"></script>
<script src="js/libs/ember-1.0.0-pre.2.min.js"></script>
<script src="js/libs/handlebars-1.0.0.beta.6.js"></script>
<script src="js/app.js"></script>
</head>
<script type="text/x-handlebars" data-template-name="application">
Test
</script>
</html>
app.js
App = Em.Application.create();
App.ApplicationView = Em.View.extend({
templateName: 'application'
});
App.ApplicationController = Em.Controller.extend();
App.Router = Em.Router.extend({
root: Em.Route.extend({
index: Em.Route.extend({
route: '/'
})
})
});
App.initialize();
wydaje się dość prosty przykład, ale nie widzę tych dwóch rzeczy:
1) Dlaczego źródło Ember daje mi ten błąd:
Uncaught TypeError: Object prototype may only be an Object or null
W linii 18 kodu źródłowego.
2) Dlaczego wciąż otrzymuję ten nieprzechwycony błąd, gdybym zdefiniowaniu szablonu:
Uncaught Error: <App.ApplicationView:ember143> - Unable to find template "application".
Wow. To wystarczyło. Również musiałem dodać do źródła kierownicę przed dodaniem embera. Dlaczego jednak muszę umieścić szablon aplikacji przed kierownicą? – Nobita
App.initialize() uruchamia wszystkie loadHooki Ember, z których jednym jest bootstrap, który ładuje wszystkie szablony. Jeśli wywołasz App.initialize() po szablonie, powinno działać. Jeśli w ogóle go nie nazwiesz, inicjalizuje się automatycznie. [https://github.com/emberjs/ember.js/blob/master/packages/ember-handlebars/lib/loader.js](https://github.com/emberjs/ember.js/blob/master/ pakiety/ember-handlebars/lib/loader.js) – delwyn
Więc nie musisz umieszczać znaczników body? O_O –