0
我知道同样的问题在很多时候都被询问过,但我找不到符合我的要求的确切问题。因此,这里是我的问题:
我有我的一个功能:
showPNG = function() {
var pngPromise = $modal({
template: 'index.html',
persist: true,
show: false,
backdrop: 'static',
scope: $scope,
modalClass: 'preview-png'
});
$q.when(pngPromise).then(
function(pngElement) {
pngElement.modal('show');
}
);
};
我有3个控制器具有相同的功能。所以我试图用一些服务来编写它,并可以从所有的控制器中调用它来重构它。我到目前为止已经做的是:
在服务:
var service = module.exports = function ($modal, $q) {
return {
showPNG : function(scope) {
var pngPromise = $modal({
template: 'index.html',
persist: true,
show: false,
backdrop: 'static',
scope: scope,
modalClass: 'preview-png'
});
$q.when(pngPromise).then(
function(pngElement) {
pngElement.modal('show');
}
);
}
};
};
service.$inject = ['$modal', '$q'];
在控制器:
...
myService.showPNG($scope);
...
此代码的工作没有任何错误。但问题是,可以通过$scope
作为一个参数的参数是服务导致任何副作用?这种方法有没有更好的替代方案?
谢谢。
你能否提供服务代码? – RAS 2014-10-06 06:09:00