chacham15
chacham15

Reputation: 14251

How do I supply an index route with a template Ember 2?

I want to create an ember application as follows:

var app = Ember.Application.create({
  rootElement: document.getElementById('root'),
  name: 'my-application',
  IndexRoute: Ember.Route.extend({
      model: function() {
        console.log('model');
      },
      afterModel: function(model, transition) {

      },
      template: Ember.Handlebars.compile('<div id="test"></div>'),
    }),
  locationType: 'hash',

});

The problem is that I dont get the test div in the DOM. How come?

http://jsbin.com/koyihapuze/edit?html,js,console,output

Upvotes: 0

Views: 33

Answers (1)

Vasiliy vvscode Vanchuk
Vasiliy vvscode Vanchuk

Reputation: 7159

1) in your code this.namespace.TEMPLATES is undefined ( inside resolver ) so you Fix code like

  resolveTemplate: function(parsedName) {
    var templatePath = parsedName.fullNameWithoutType.replace('.', '/');
    var template = this.namespace.TEMPLATES && this.namespace.TEMPLATES[templatePath];
    if (!template) {
      template = this._super(parsedName);
    }
    return template;
  },

After you'll find new div.ember-view element inside application container

2) template is not property of route ( as in your code ), you can define ApplicationView with template or templateName in router and solve resolver errors

P.S. It's better to start with Ember using ember-cli

Upvotes: 2

Related Questions