http调用位于指令内部的控制器内部
http call inside of a controller which is inside of a directive
我有一个名为TestServlet.java的servlet,它返回一些数据(返回什么并不重要,只是一些文本)。
这是我正在创建的ng指令:
(function() {
var aMod = angular.module('aMod', []);
aMod.directive('aDir', function($http) {
return {
restrict : 'E',
templateUrl : "test.html",
controller : function() {
this.test = 'this is a test variable';
this.diranswer = 'Test: ';
this.direrror;
var req = {
method : 'POST',
url : '/test1/TestServlet',
params : {
p1 : 'test1',
p2 : 'test2'
}
};
$http(req).then(function(response) {
this.diranswer += response.data;
console.log(this.diranswer);
}, function(response) {
this.direrror = response.data;
});
},
controllerAs : "at"
}
})
})();
这是test.html文件:
<div>
this is a test partial html
<br>
<input type="text" ng-model="at.test" />
{{at.test}}
<br>
{{at.diranswer}}
<br>
{{at.direrror}}
</div>
我无法将servlet返回的文本分配给at.diranswer。你能帮我一下吗?
谢谢,Turik
$http
回调中的this
的值不同于diranswer
所在的this
。所以,当你在回调中设置它时,你就是在一个完全不同的对象上设置它。在发出呼叫之前,您需要保存值:
var self = this;
$http(req).then(function(response) {
self.diranswer += response.data;
console.log(self.diranswer);
}, function(response) {
self.direrror = response.data;
});
相关文章:
- 正在$rootScope上达到控制器作用域$在内部控制器上
- 为什么$scope和'这'关键字在控制器内部可互换使用
- 角度控制器功能不;在指令内部调用时,似乎无法始终如一地工作
- AngularJS控制器内部的功能
- 控制器内部无法访问Angular js输入模型
- 控制器内部的scope函数不根据视图中的ng模型更新值
- 在angularjs中的控制器内部调用multipe$http
- 立即调用角控制器内部的函数,这是一个很好的实践
- Angularjs 测试控制器内部的异步行为
- 在 ng 选项之后完成控制器内部的回调函数
- Angular 1.5:访问控制器内部的绑定控制器属性
- 控制器内部的角度方法调用
- AngularJS - 在服务内部对数组进行排序,在控制器/视图中保留绑定
- 从控制器内部获取表单数据
- Jasmine Test Access A Promise 在控制器内部
- 如何从控制器功能内部获取$scope
- 角度控制器内部的无限循环
- 使用工厂内部控制器
- 如何在angularjs的内部控制器中从列表中获取值
- declare和use strict有什么区别吗?在一个全局匿名函数或内部控制器?在AngularJs