问题是打印函数被称为BEFORE角度变量被加载所以在视图中我得到类似这样的{{ticketPin}}
等等......任何建议如何在调用print函数之前渲染角度参数?
我有accountContentController
我有这个:
$scope.printFunction = function ()
{
localStorage.setItem("payoutTime", $scope.testpayoutTime);
localStorage.setItem("payoutAmount", $scope.testpayoutAmount);
localStorage.setItem("pin", $scope.testticketPin);
$window.open("/print");
}
我有printController,我有这个:
$window.print();
答案 0 :(得分:0)
使用ng-cloak或ng-bind摆脱{{ticketpin}}
<span ng-bind="ticketpin"></span>
答案 1 :(得分:0)
Id取决于您是从承诺还是以其他方式加载到范围。 但在这两种情况下,都可以设置对这些特定参数的监视。 Watch具有新旧变量的参数,您可以检查旧值(假设为null或未定义)是否由新值交换(假设您要打印此值)。 所以设置观察:
$scope.$watch(function(){
return $scope.testpayoutAmount;
}, function(newVal,oldVal) {
if ( newVal != oldVal ) {
$window.print();
}
});
问题是,如果您有三个变量,并且想知道每个变量是否已更改。 您可以将计数器设置为三个:
$scope.$watch(function(){
return $scope.testpayoutAmount + $scope.var2 + $scope.var3;
}, function(newVal,oldVal) {
if ( newVal != oldVal ) {
$scope.count++;
}
if ( $scope.count == 3 )
$window.print();
});
这里我假设,一个变量只能被改变一次,所以从undefined到某个值。如果有可能将其更改两次或更多,则此解决方案没有意义,因为在此处您必须在运行应用程序之前知道更改的总和。