iConnor
iConnor

Reputation: 20189

View Controller not getting called

I have set up a view in ember and rendered it on the page like this

App.TestView = Ember.View.extend({
   template: Ember.Handlebars.compile('<h1>Heading</h1>')
});

{{view App.TestView}}

But if I create the controller nothing happens

App.TestController = Ember.Controller.extend({
    init: function() {
        console.log('CONTROLLER HERE');
        this._super();
    }
});

Any ideas why this happens?

Upvotes: 2

Views: 82

Answers (2)

Kingpin2k
Kingpin2k

Reputation: 47367

When you create a view manually (like you are doing) it doesn't use the test controller. If you hit a test route it will use the associated test controller and test view.

In your case based on your comments below you probably want to set up some routes and have them use the associated controllers and views.

Check out this: http://emberjs.com/guides/routing/defining-your-routes/

Maybe something like this

App.Router.map(function() {
  this.resource('gallery', { path: '/gallery/:gallery_id' }, function() {
     this.resource('photo', { path: 'photo/:photo_id' });
  });
});

Upvotes: 1

intuitivepixel
intuitivepixel

Reputation: 23322

You are missing a route for your example to work: http://jsbin.com/IGIvuhe/2/edit

Add this and it will work:

App.Router.map(function(){
  this.route("test", {path: '/'});
});

Hope it helps.

Upvotes: 1

Related Questions