Я получаю эту ошибку брошенную:
Error: Error: [$parse:isecwindow] Referencing the Window in Angular expressions is disallowed!
Когда я пытаюсь использовать $ window.open/window.open в angularjs.
Generate.html
<div class="print-report-footer" ng-show="vm.clicked">
<button type="button" class="btn btn-primary" ng-click="vm.downloadFile('pdf')">PDF</button>
<button type="button" class="btn btn-primary" ng-click="vm.downloadFile('xls')">XLS</button>
<button type="button" class="btn btn-primary" ng-click="vm.downloadFile('csv')">CSV</button>
</div>
Generate.ctrl.js
function downloadFile (fileType) {
var path = '/images/reports/DistrictSchoolReport.' + fileType;
return $window.open(path);
}
self.downloadFile = downloadFile;
Это код, который я использовал. Что мне нужно сделать, чтобы избежать этой ошибки, возникающей каждый раз, когда я использую $ window.open?
Вы можете попробовать $ window.open (path); вернуть; Похоже, вы вызываете эту функцию из представления, что вызывает проблему. –
Вы уверены, что ошибка бросается в $ window не в другом месте? У вас может быть проблема определения области, где 'this' инициализируется как' window'. – timeiscoffee
Кстати, вы также можете использовать 'window.open', а не' $ window.open'. также убедитесь, что этот код работает под угловым проектом. –