私は 2 つの HTML ビューを持っています。1 つはアプリケーション用で、もう 1 つは印刷用です。Application.htmlとPrintForm.htmlという 2 つのファイル名について考えてみましょう。
Application.htmlのサンプル HTML スクリプト
<!DOCTYPE html>
<html>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<body>
<div ng-app="myApp" ng-controller="myCtrl">
First Name: <input type="text" ng-model="firstName"><br>
Last Name: <input type="text" ng-model="lastName"><br>
<br>
Full Name: {{firstName + " " + lastName}}<br>
<br> Click here to <a href="#">Print</a>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.firstName = "John";
$scope.lastName = "Doe";
});
</script>
</body>
</html>
PrintForm.html のサンプル HTML スクリプト
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1 class="visible">My First Name is {{ }}</h1>
<h1 class="visible">My Last Name is {{ }}</h1>
<p>The Value fetched from Application.html</p>
</body>
</html>
Application.html から Print ハイパーリンクをクリックすると、PrintForm.html からデータをバインドして印刷する必要があります。app.controller
$scope
$scope.firstName = "John";
$scope.lastName = "Doe";
期待される出力画面は
印刷コンテンツをブラウザーにロードする必要はありません。印刷ハイパーリンクがヒットした後、プリンターダイアログを直接トリガーして印刷します。
Application.html で Print Hyperlink を押した後の私の予想されるアクションは次のようになります。
注: PrintForm.html に iFrame やその他の内部ビューを使用しないでください。