我有一个有角度的应用程序,我试图在其中获取一个JavaScript变量以HTML格式显示。这确实适用于我的应用程序的较早部分。但是,它将无法在新部分中使用。
这是工作功能(在名为reports.js
的文件中):
return db.queryPromise(sql, sqlParams().then(function(results) {
console.log("Inside queryPromise");
var data = {
GrandTotals: {
Expensed: 0
}
};
results.reduce(function(data,record) {
var expensed = record['Expensed'];
data.GrandTotals.Expensed = expensed;
console.log("Expensed amount:"+data.GrandTotals.Expensed);
return data;
}, data);
return data;
});
以下是有效的html(位于名为_reportFunds.html
的文件中):
<tr class="info bold">
<td colspan="3">Grand Total</td>
<td class="text-right"><currency value="data.GrandTotals.Expensed" symbol="$"/></td>
</tr>
这是不起作用的功能(在名为crud.js
的文件中):
return db.queryPromise(sql, sqlParams().then(function(results) {
console.log("Inside queryPromise-crud");
var pageObject = {
GrandTotals: {
Expensed: 0
}
};
results.reduce(function(pageObject,record) {
var expensed = record['Expensed'];
pageObject.GrandTotals.Expensed = expensed;
console.log("Expensed amount-crud:"+pageObject.GrandTotals.Expensed);
return pageObject;
}, pageObject);
return pageObject;
});
这是无效的html(位于名为_trans.html
的文件中):
<tr class="info bold">
<td colspan="3">Grand Total</td>
<td class="text-right"><currency value="pageObject.GrandTotals.Expensed" symbol="$"/></td>
</tr>
如您所见,除了变量名更改外,代码基本相同。我可以看到console.logs将期望的信息打印到服务器。这使我相信,由于显示了数据,因此应该可以访问变量。在将crud.js文件提取到html中之前,可能会杀死它吗?
谢谢!
答案 0 :(得分:0)
嗯...我从来没有想过如何使当前代码正常工作。但是,在对总计进行更多的研究时,我发现了一种巧妙的小角度方法来处理此问题并提供总计。
这是html:
<td class="text-right">{{getTotalExpense}}</td>
这是控制器中的代码:
$scope.getTotalExpense = function() {
var total = 0;
for(var i=0; i<$scope.displayed.length; i++){
var product = $scope.displayed[i];
total += (product.Expensed);
}
return '$' + total.toFixed(2).replace(/(\d)(?=(\d{3})+(?!\d))/g,'$1,')
}