我有一个控制器在指令设置范围之前发出 $http.get 请求。如何确保在控制器执行此操作之前首先设置所需的范围值?
我有一个指令...
<mydir host="'localhost:8080'" api="/myapi/bla=?asdf=123"/>
定义为 ...
myapp.directive('mydir', function() {
return{
restrict: 'E',
templateUrl: 'scripts/partials/dillist.html',
link: function(scope, element, attrs){
scope.host = attrs['host'];
scope.api = attrs['api'];
}
}
});
我的服务..
.service('MyService',function($http, $q){
return{
getPageData: function(host, api){
$http.get(host+ api)
///some more stuff
}
}
}
但是,我的控制器在指令有机会将指令中的属性分配给范围之前执行服务方法。
// inside the controller //
MyService.getPageData($scope.host, $scope.api).then(function(res){
... some more code ..
});