怎么在angularjs的http请求外调用数据
答案:2 悬赏:50 手机版
解决时间 2021-02-12 14:08
- 提问者网友:练爱
- 2021-02-11 18:23
怎么在angularjs的http请求外调用数据
最佳答案
- 五星知识达人网友:上分大魔王
- 2021-02-11 18:38
我们可以使用内置的$http服务直接同外部进行通信。$http服务只是简单的封装了浏览器原生的XMLHttpRequest对象。 1、链式调用 $http服务是只能接受一个参数的函数,这个参数是一个对象,包含了用来生成HTTP请求的 配置内容。
全部回答
- 1楼网友:一把行者刀
- 2021-02-11 19:08
在angularjs中,有时候需要监视scope中的某个变量,因为变量的改变会影响一些界面元素的显示。有时,也希望通过jquery调用scope的某个方法。
比如以下场景:
toggle jq button state
以上,我们希望:
● scope中的jqbtnstate变量值如果为false让id为jqbtn的按钮禁用
● 点击id为jqbtn的按钮调用scope中的某个方法让scope中的变量counter自增1
我们可能会这样写:
$('#jqbtn').on("click", function(){
console.log("jquery button clicked");
//需要考虑的问题是:
//这里如何调用scope中的某个方法,使scope的的变量counter自增1
})
...
myapp.controller("ngctrl", function($scope){
$scope.counter = 0;
//这里,怎么让jqbtnstate变量值发生变化告之外界呢?
$scope.jqbtnstate = false;
$scope.jqbtnclick = function(){
$scope.counter++;
}
})
其实,使用$watch方法可以监视scope某个变量的变化,当变化发生调用回调函数。
myapp.controller("ngctrl", function($scope){
$scope.counter = 0;
$scope.jqbtnstate = false;
$scope.$watch("jqbtnstate", function(newval){
$('#jqbtn').attr('disabled', newval);
});
$scope.jqbtnclick = function(){
$scope.counter++;
}
})
以上,当jqbtnstate变量值为false的时候就会禁用id为jqbtn的按钮。
外界如何调用scope的方法呢?
--先获取scope,然后使用$apply方法调用scope内的方法。
$('#jqbtn').on("click", function(){
console.log("jquery button clicked");
var scope = angular.element(ngsection).scope();
scope.$apply(function(){
scope.jqbtnclick();
});
})
以上,通过获取scope,使用$apply方法调用scope内的jqbtnclick方法使scope呢的变量counter自增1。
以上所述是针对angularjs中监视scope变量以及外部调用scope方法 的相关知识,希望对大家有所帮助。counter: {{counter}}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯