2015-08-21 69 views
0

我有一個Model類,我想使用以下設置一個getter,但它似乎在IE9中失敗,但在現代瀏覽器中正常工作。任何想法爲什麼?IE9 Object.defineProperty不工作

Object.defineProperty(Model, 'propType', { 
     get: function() { 
      var propType = React.PropTypes.shape(config.fields); 
      propType.Class = this; 

      return propType; 
     } 
    }); 
+1

你在IE9中遇到錯誤嗎?或者究竟發生了什麼? – jfriend00

+0

它似乎沒有告訴我一個相關的錯誤(稍後會顯示我對propType的調用返回undefined)。我也不能在裏面設置警報或調試器 – Evan

回答

1

是否有可能React.PropTypes.shape(config.fields);返回未定義在IE9中?如果是這種情況,propType.Class = this;這條語句會拋出一個ReferenceError,這可以解釋爲什麼在get中設置警報或調試器語句不起作用。

如果ReactJS是問題,那可能只是您需要一些polyfills。 React可能需要一些ES5 polyfills才能在IE9中工作。欲瞭解更多信息,請參見:

希望有所幫助。