imengyu
imengyu
  • 发布:2021-12-24 15:02
  • 更新:2021-12-24 15:02
  • 阅读:226

使用prototype扩展方法为什么需要每个页面都要写一次?

分类:nvue
js

使用此方法在string上扩展endWith 方法:

String.prototype.endWith = function(str) { return this.indexOf(str) == this.length - str.length; }

写在App.vue 中,只有 App.vue有效, 页面中无效;
写在main.js 中,只有 main.js有效, 页面中无效:
main.js

String.prototype.endWith = function(str) { return this.indexOf(str) == this.length - str.length; }  

console.log("".endWith)  >>>> function (str) {  return this.indexOf(str) == this.length - str.length; }

pages/index/index.vue

console.log("".endWith)  >>>> undefined

必须要在index.vue中也上个扩展的代码才有用
pages/index/index.vue

String.prototype.endWith = function(str) { return this.indexOf(str) == this.length - str.length; }  

console.log("".endWith)  >>>> function (str) {  return this.indexOf(str) == this.length - str.length; }

难道我想扩展一个方法,必须要在每个页面上都写这一段代码吗?
我的项目中有将近60个页面,一个个加上也太麻烦了吧!
为什么在main.js扩展基本类后在页面里不能访问
为什么在main.js扩展uni方法页面里却是可以使用的?

2021-12-24 15:02 负责人:无 分享
已邀请:

该问题目前已经被锁定, 无法添加新回复