我第一次加载AngularJS(1.6)指令时尝试发出GET请求,并在指令模板中显示结果。
我到目前为止所做的是以下内容:
JS:
app.directive("myDirective", ['$http', function($http) {
return {
restrict: 'AE',
attrs: {
foo : String,
onResponse : function(response){
this.foo = response.data;
}
},
templateUrl: 'templates/my-directive.html',
compile: function(scope, element, attrs) {
$http({
method: 'GET',
url: 'my/url'
}).then(
attrs.onResponse
);
}
}
}]);
HTML模板:
<div id="my-directive">
foo: <span>attrs.foo</span>
</div>
有没有办法正确地做到这一点?
提前致谢!
答案 0 :(得分:0)
好吧,我设法通过添加一个控制器来做我想要的事情:
app.controller('myDirectiveController', function ($scope, $http) {
$scope.foo;
$scope.onResponse = function(response){
$scope.foo= response.data;
}
$http({
method: 'GET',
url: 'my/url'
}).then(
$scope.onResponse
);
});
,其中
<div id="my-directive">
foo: <span>{{foo}}</span>
</div>
,模板如下所示:
{{1}}
可能这不是正确的方法,但它有效..任何建议都是受欢迎的!