Использование i18n в Mixin?
Есть ли способ использовать i18n в Mixin. Я хотел бы создать Mixins в качестве конфигурации для моих полей, и мне нужно переводить метки, но насколько я прочитал https://github.com/jamesarosen/ember-i18n/wiki/Doc:-i18n-Service Я не вижу возможности реализовать это.
1 ответ
Решение
Как отметил Китлер, вы можете добавить сервис i18n в свои миксины, чтобы использовать их в своих компонентах.
export default Ember.Mixin.create({
i18n: Ember.inject.service(),
translate: function(key, options) {
return this.get('i18n').t(key, options);
}
});
Что вы ожидаете больше? Хотите изменить все метки как Декоратор? Если вы хотите украсить метку компонента с помощью миксина, чем вы должны сделать:
export default Ember.Mixin.create({
i18n: Ember.inject.service(),
translate: function(key, options) {
return this.get('i18n').t(key, options);
},
init(){ //init or didReceiveAttrs
this._super(...arguments);
this.set('label', this.translate(this.get('label')));
}
});