lundi 10 juillet 2017

Use Mixin property in a Controller

This is a crappy example, but I am merely trying to use a mixin's property in a controller. I did the same thing in a route and could access that property. I've tried every way to reference a property I know... What am I misunderstanding?

// app/mixins/author-data.js
import Ember from 'ember';

export default Ember.Mixin.create({
  authorName: 'Example author name',
});


// app/controllers/application.js
import Ember from 'ember';
import AuthorDatas from 'app-name/mixins/author-data';

export default Ember.Controller.extend(AuthorDatas, {

  siteTitle: `Site title`,   

  fromAuthorData: đŸ’©,

  actions: {
    showAuthor() {
      var author = this.get('fromAuthorData');
      console.log(`Author from controller: ${author}`);
    },
  },

});


// app/templates/application.hbs



This works... // app/routes/application.js import Ember from 'ember'; import AuthorDatas from 'app-name/mixins/author-data';

export default Ember.Route.extend(AuthorDatas, {

  afterModel() { // arbitrary
    var intro = `Author from route:`;
    console.log(`${intro} this.authorName`, this.authorName );
    console.log(`${intro} this.get('author-name')`, this.get('authorName') );
  },

});

(I would have made an ember-twiddle - but I wasn't sure if Mixins would work the same way ~ since they aren't on the list and there is 0 documentation)




Aucun commentaire:

Enregistrer un commentaire