• 前面的没有白写,要不是前面的努力,怎么能有之后的优化呢,是吧👍

  • Ember SEO 如何使用多语言? at 2019年04月22日

    前两天使用了一个方式,但是只在当前页面有效,切换到其他页面就不行了,在切换回来也不行了,而且这个也不是好方法,还需要继续寻找解决方案。

    如下:

    head-title.js

    import Ember from 'ember';
    import { helper } from '@ember/component/helper';
    
    // https://codeday.me/bug/20190402/870188.html
    export function headTitle(title) {
      Ember.$('head').find('title').text(title.replace('-', ''));
    }
    
    export default helper(headTitle);
    

    index.hbs

    {{head-title (t 'title.sero')}}
    
  • Ember SEO 如何使用多语言? at 2019年04月18日

    出现新的问题,切换多语言时,标题无法自动更新,又要找方法了¯_(ツ)_/¯

    目前切换语言用的是如下方式:

    import Ember from 'ember';
    import config from '../config/environment';
    
    export default Ember.Route.extend({
      intl: Ember.inject.service(),
    
      beforeModel() {
        var lang = localStorage.getItem('lang') || config.LANG;
        this.setLocale(lang);
      },
    
      setLocale: function (lang) {
        this.get('intl').setLocale(lang);
      },
    
      actions: {
        lang: function(lang) {
          localStorage.setItem('lang', lang);
          this.setLocale(lang);
        }
      }
    });
    
  • Ember SEO 如何使用多语言? at 2019年04月18日

    谢谢你的解答,让我几次没解决差点就想放手了。(^_−)−☆

  • Ember SEO 如何使用多语言? at 2019年04月18日

    解决,例子:

    import Ember from 'ember';
    
    export default Ember.Service.extend({
      intl: Ember.inject.service(),
    
      'index': Ember.computed(function () {
        return {
          'title': this.get('intl').t('site.title')
        };
      }),
    });
    

    路由也是类似的方法。

  • Ember SEO 如何使用多语言? at 2019年04月17日

    非常感谢你的解答,我看了这两个模块不少文档和文章,也测试了好多次,一直没能解决。

    多语言目前可以正常使用。

    但是在 ember-seo-meta-tags 中使用就有问题。

    根据 https://github.com/ember-intl/ember-intl/blob/master/docs/ember-service-api.md 给的文档。

    在服务中使用

    a、第一种方式

    import Ember from 'ember';
    
    export default Ember.Service.extend({
      intl: Ember.inject.service(),
    
      'index': {
        title: this.intl.t('site.title'),
      },
    });
    

    出错

    Uncaught TypeError: Cannot read property 'intl' of undefined

    文件解析为:

    define("site/services/tags-data", ["exports"], function (_exports) {
      "use strict";
    
      Object.defineProperty(_exports, "__esModule", {
        value: true
      });
      _exports.default = void 0;
    
      var _default = Ember.Service.extend({
        intl: Ember.inject.service(),
        'index': {
          title: (void 0).intl.t('site.title')
        }
      });
      _exports.default = _default;
    });
    

    b、第二种方式

    import Ember from 'ember';
    
    export default Ember.Service.extend({
      intl: Ember.inject.service(),
    
      'index': {
        title: this.get('intl').t('site.title'),
      },
    });
    

    出错

    Uncaught TypeError: Cannot read property 'get' of undefined

    文件解析为:

    define("site/services/tags-data", ["exports"], function (_exports) {
      "use strict";
    
      Object.defineProperty(_exports, "__esModule", {
        value: true
      });
      _exports.default = void 0;
    
      var _default = Ember.Service.extend({
        intl: Ember.inject.service(),
        'index': {
          title: (void 0).get('intl').t('site.title')
        }
      });
    
      _exports.default = _default;
    });
    

    在路由中使用也是类似的错误,我是哪里使用有误?