ユーザーが送信すると、そのページがいくつかのデータテーブルで更新される入力フォームページがあります。ユーザーが見たものが気に入った場合は、これらのテーブルのクリーンアップされたバージョン (ヘッダー ナビゲーション、フッター ナビゲーションなどなし) をフォーマットをそのままにして印刷できるはずです。
ブートストラップとangularjsを使用してテーブルを作成しています。私がやろうとしているのは、uset が「印刷」をクリックすると、角度コントローラーが生成されたページ (「テンプレート」と呼ばれる div 内) から目的のコンテンツを取得し、それを新しい html ページに挿入して開くことです。印刷用の新しいウィンドウで。
$compile
データをトランスクルージョンするために使用できるようにすることを望んでいたディレクティブを作成しました。
app.directive('printTemplate', function () {
return {
templateUrl: 'app/partials/printtemplate.html',
replace: true,
transclude: true,
restrict: 'A'
};
});
そして私のコントローラーで:
$scope.printTemplate = function () {
var page = angular.element(template).contents();
var newpage = $compile("<html><body><div print-template>" + page + "</div></body></html>")($scope);
var win = window.open();
win.document.write(newpage);
//win.print();
};
しかし、これは私が期待することをしていないようです。そして、私はそれを間違っているように感じます。私のデータ テーブルにはブートストラップ スクリプトと css 参照が必要なので、それらをprinttemplate.html
ファイルに含める必要があるという考えでした。
これを行うためのより簡単な/より良い方法はありますか、それとも何が欠けていますか?