对于全局数据,我必须实现一个对象数组。 我做了一个名为newDevis的基本原型。 (对不起法语单词和英语之间的混合^^) 这还包含两个对象数组
devisPieces和devisMainOeuvres,它们填充了名为
的原型数组devisPiece和devisMainOeuvre
然后我有一个方法使用这两个数组的数据来计算它们的总和,我将在以后使用。
问题是我总是得到“newDevis”未定义。
所以这是全局vue应用程序 PS:你可能想知道为什么不调用应用程序直接在newDevis和newFacture中执行操作: 好吧,我想做一个共同的功能(因为基本上它做同样的工作但是针对不同的目标)并且根据你传递的字符串(“devis”或“facture”),它对指定的数据做了必要的操作。
{
var standard = new Vue({
el: '#standard',
data() {
return {
/*more Data*/
//Prototypes Data
//Devis Facture
newDevis: {
codeDevis: '', dateDevis: '', nombrePieces: 0, sousTotal: 0, totalRemise: 0,
totalHT: 0, fodec: 0, totalTaxes: 0, timbreFiscal: 0, totalTTC: 0,
devisPieces: [], devisMainOeuvres: []
},
devisPiece: { nomPiece: '', quantite: 0, prixUnitaire: 0, tva: 0, remise: 0 },
devisMainOeuvre: { libelleMainOeuvre: '', nombreHeure: 0, prixUnitaire: 0, remise: 0 },
//Facture vars
newFacture: {
codeFacture: '', dateFacture: '', nombrePieces: 0, sousTotal: 0, totalRemise: 0,
totalHT: 0, fodec: 0, totalTaxes: 0, timbreFiscal: 0, totalTTC: 0,
facturePieces: [], factureMainOeuvres: []
},
facturePiece: { nomPiece: '', quantite: 0, prixUnitaire: 0, tva: 0, remise: 0 },
factureMainOeuvre: { libelleMainOeuvre: '', nombreHeure: 0, prixUnitaire: 0, remise: 0 },
//fictive data
}
}
, watch: {
},
methods: {
// Devis et Facture
calculQuantiteFlouss(flouss) {
self = this;
Flouss = self.capitalize(flouss);
nameDevis = "new" + Flouss;
devisName1 = flouss + "Pieces";
devisName2 = flouss + "MainOeuvre";
var quantitePieces = 0;
function sumPieces(flouss) {
if (!isNaN([eval(flouss)].quantite)) {
quantitePieces += +[eval(flouss)].quantite;
}
if (!isNaN([eval(flouss)].nombreHeure)) {
quantitePieces += +[eval(flouss)].nombreHeure;
}
};
console.log(self[eval(nameDevis)]);//to check its type
self[eval(nameDevis)][eval(devisName1)].foreach(sumPieces);
self[eval(nameDevis)][eval(devisName2)].foreach(sumPieces);
return self[eval(nameDevis)].quantite = quantitePieces;
},
},
computed: {
},
mounted() {
}
})
}
我觉得这是一个范围问题,但它不起作用。