首页 > 解决方案 > 在 Ember.js 中填充 Object.entries 的推荐方法是什么?

问题描述

我的一些用户使用不支持Object.entries. 我仍想支持该浏览器,但我Object.entries在我的代码库中的多个地方使用。

我看到有可用的垫片。在 Ember 中放置这个 shim 的最佳位置是哪里?

谢谢!

标签: internet-explorerember.js

解决方案


我个人会将其放入初始化程序中。我喜欢它,因为它很隐蔽,以后很容易移除。

ember generate initializer object-entries-polyfill

应用程序/初始化程序/object-entries-polyfill.js

export function initialize(application) {
  //from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries#Polyfill
  if (!Object.entries) {
    Object.entries = function( obj ){
    var ownProps = Object.keys( obj ),
        i = ownProps.length,
        resArray = new Array(i); // preallocate the Array
    while (i--)
      resArray[i] = [ownProps[i], obj[ownProps[i]]];

    return resArray;
    };
  }
};

export default {
  initialize
};

推荐阅读