我似乎无法从我从代码库的其他部分导入的构造函数中导出原型。
所以,如果我在functions.js
中有这个:
export function Product(unprocessedItem) {
let item = Object.assign({}, unprocessedItem);
return item;
}
Product.prototype.printThat = function() {
console.log('Yo, it worked!')
}
然后我在其他地方这样做:
import {Product} from '@/js/functions'
let product = new Product(result);
product.printThat();
printThat()
似乎不起作用......
答案 0 :(得分:4)
这里的问题实际上与模块导入和导出无关。实际上问题在于产品功能。
function Product(unprocessedItem) {
let item = Object.assign({}, unprocessedItem);
return item;
}
Product.prototype.printThat = function() {
console.log('Yo, it worked!')
}
let product = new Product({ test: true });
product.printThat();
不起作用。
因为您返回了一个项目,而不是Product构造函数中的Product。
function Product(unprocessedItem) {
Object.assign(this, unprocessedItem);
}
Product.prototype.printThat = function() {
console.log('Yo, it worked!', this.test);
}
let product = new Product({ test: true });
product.printThat();
或作为一个班级
export class Product {
constructor (unprocessedItem) {
Object.assign(this, unprocessedItem);
}
printThat () {
console.log('Yo, it worked!');
}
}