由于Vue的一些不兼容問題,使得Vue在iOS設備上不能正常地工作。
// Example code of the incompatibility issue computed: { ...mapGetters([ 'getFirstName', 'getLastName' ]), fullName() { return `${this.getFirstName} ${this.getLastName}`; } }
Vue在處理計算屬性時,存在一些與Safari不兼容的問題,這種不兼容會導致計算屬性無法正常工作。在IOS設備上,JavaScript不支持數組的Object.defineProperty()。而這個方法恰恰是Vue在計算屬性中使用的。當然,你可以使用babel-polyfill插件來解決這個問題,但這并不是完美的解決方案。
// Example code of Object.defineProperty() Object.defineProperty(obj, 'key', { enumerable: false, configurable: false, writable: false, value: 'static' });
除此之外,Vue的transition組件在iOS設備上也出現了問題。當運行transition組件時,IOS設備上的彈性滾動會導致頁面跳幀、卡頓等問題。如果你不想在移動端碰到這種問題,你不得不手動禁止掉彈性滾動。這還只是對于Vue在iOS設備上運行時出現的一些問題,還有一些其他的問題也需要開發者自行解決。
當然,Vue在全球開發者的支持下,Vue一定會安全且快樂地繼續發展。如果你在開發中碰到了問題,也歡迎在各大社交平臺上與其他開發者分享體驗。