如何在 Quasar 中添加自定义 属性?
How to add custom property in Quasar?
我想在 Quasar 框架中添加自定义属性,但是当我设置它时,ESlint 显示这个错误:
Array prototype is read only, properties should not be added
我想为数组添加一个扩展方法:
Array.prototype.extend = function (other_array) {
/* You should include a test to check whether other_array really is an array */
other_array.forEach(function(v) {this.push(v)}, this)
}
当你扩展一个对象时,你改变了它的行为。
更改仅由您自己的代码使用的对象的行为是可以的。但是,当您更改其他代码也使用的某些行为时,您可能会破坏其他代码。
您的选择可以是创建一个函数并将其导入:
helpers.js
let extend = function(other_array) {
return other_array.forEach(function(v) {this.push(v)}, this)
}
export default extend;
componentA.vue
import extend from './helpers.js';
// use extend as a normal function
或者我们可以更聪明一点,使用 Javascript 已有的原生方法:
// will 'glue' two arrays together
firstArray.concat(secondArray);
// or using new ECMA syntax (spread operator)
finalArray = [...firstArray, ...secondArray];
我想在 Quasar 框架中添加自定义属性,但是当我设置它时,ESlint 显示这个错误:
Array prototype is read only, properties should not be added
我想为数组添加一个扩展方法:
Array.prototype.extend = function (other_array) {
/* You should include a test to check whether other_array really is an array */
other_array.forEach(function(v) {this.push(v)}, this)
}
当你扩展一个对象时,你改变了它的行为。
更改仅由您自己的代码使用的对象的行为是可以的。但是,当您更改其他代码也使用的某些行为时,您可能会破坏其他代码。
您的选择可以是创建一个函数并将其导入:
helpers.js
let extend = function(other_array) {
return other_array.forEach(function(v) {this.push(v)}, this)
}
export default extend;
componentA.vue
import extend from './helpers.js';
// use extend as a normal function
或者我们可以更聪明一点,使用 Javascript 已有的原生方法:
// will 'glue' two arrays together
firstArray.concat(secondArray);
// or using new ECMA syntax (spread operator)
finalArray = [...firstArray, ...secondArray];