我如何可以訪問視圖$範圍數據,以我的angularjs工廠嗎?我可以從我的控制器訪問$ scope.items,但是當我需要在我的工廠中使用它來使用數據並生成PDF時,我無法訪問它。
angular.module('myApp', [])
.controller('myCtrl', function($scope, $http, testFactory) {
$scope.link = "http://localhost:3450/loading.html";
testFactory.all().then(
function(res){
$scope.link = res;
},
function(err){
console.log(err);
}
);
})
.factory('testFactory', function($q){
var pdfInfo = {
content: [
//data should be here...
]
};
var link = {};
function _all(){
var d = $q.defer();
pdfMake.createPdf(pdfInfo).getDataUrl(function(outputDoc){
d.resolve(outputDoc);
});
return d.promise;
}
link.all = _all;
return link;
});
我使用了工廠,當我從我的視圖中單擊生成按鈕,它會一直等到生成pdf。因爲我之前沒有這樣做,我需要點擊按鈕兩次才能生成pdf。
這很簡單,因爲$範圍服務不能在工廠 –