これはちょっとした例ですが、コントローラーでmixinのプロパティーを使用しようとしています。私は同じことをルートで行い、そのプロパティにアクセスすることができました。私は知っている財産をあらゆる方法で試してみました...私は何を誤解していますか?コントローラーでMixinプロパティーを使用する
// 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: this.get('authorName'),
// returns - what is the proper syntax?
actions: {
showAuthor() {
var author = this.get('fromAuthorData');
console.log(`Author from controller: ${author}`);
},
},
});
// app/templates/application.hbs
{{fromAuthorData}}
これは動作します...
// 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'));
},
});
(私がめざしuldはember-twiddleを作っていますが、リストにないので、Mixinsが同じ方法で動作するかどうかはわかりませんでした)
'fromAuthorData'は、あなたがソースコードでこれを置き換えることができ、文字通りうんちの山ですか? –
'this.get( 'authorName')'があると想像してください – sheriffderek
私は、mixin/author-data.jsのようなファイルを作成する必要があるmixinsのために、すべてがうまくいくと思います。 – kumkanillam