angularjsService

本文深入解析AngularJS中$location、$http、$timeout、$interval等核心服务的用法,并通过实例演示如何自定义服务。内容包括获取当前页面URL、向服务器发送请求、定时任务执行和周期性操作等关键功能。

$location可以放回当前页面的url地址;$localtion比使用window.location要好,因为angularjs会一直监控app,同时处理事件的变化!

举例:

<!DOCTYPE html>
<html>
<head>
    <title>$location</title>
    <meta charset="utf-8" />
    <script src="angular/angular.min.js"></script>
</head>
<body>
    <div ng-app="myApp" ng-controller="myCtrl">
        <p>当前页面的url:</p>
        {{myUrl}}
    </div>
    <script>
        var app = angular.module('myApp',[]);
        app.controller('myCtrl',function($scope,$location){
            $scope.myUrl = $location.absUrl();
        });
    </script>
</body>
</html>

浏览器运行之后的效果:

当前页面的url:

file:///E:/%E5%89%8D%E7%AB%AF%E5%AD%A6%E4%B9%A0%E4%BD%93%E7%B3%BB/bootstrap/angularStudy/demo15.html


$http是angularjs中使用最多的服务。angularjs中的服务用于向服务器发送请求,应用响应服务器传送过来的数据。

举例

<!DOCTYPE html>
<html>
<head>
    <title>$http</title>
    <meta charset="utf-8" />
    <script src="angular/angular.min.js"></script>
</head>
<body>
    <div ng-app="myApp" ng-controller="myCtrl">
        <p>{{myWelcome}}</p>
    </div>
    <script>
        var app = angular.module('myApp',[]);
        app.controller('myCtrl',function($scope,$http){
            $http.get("demo01.html").then(function(response){
                $scope.myWelcome = response.data;
            });
        });
    </script>
</body>
</html>

浏览器上的结果:

<!DOCTYPE html><html><head><title>angularJs</title><meta charset="utf-8" /><script src="angular/angular.min.js"></script></head><body>/*ng-app定义了一个应用。该应用是angular的所有者ng-model把元素的值绑定到应用。ng-bind把应用的数据绑定到HTML试图。ng-controller 定义该元素的控制器*/<div ng-app="myApp" ng-controller="myCtrl">name1:<input type="text" ng-model="firstname"></input><br/>name2:<input type="text" ng-model="lastname"></input><br/>姓名:{{firstname + " "+lastname}}</div><script>//定义angular应用var app = angular.module('myApp',[]);//控制器用于控制angular应用app.controller('myCtrl',function($scope){$scope.firstname="qqq";$scope.lastname = "www";});</script></body></html>


$timeout服务对应了window.setTimeout()函数

举例

<!DOCTYPE html>
<html>
<head>
    <title>$timeout</title>
    <meta charset="utf-8" />
    <script src="angular/angular.min.js"></script>
</head>
<body>
    <div ng-app="myApp" ng-controller="myCtrl">
        <p>{{myHeader}}</p>
    </div>
    <script>
        angular.module('myApp',[]).controller('myCtrl',function($scope,$timeout){
            $scope.myHeader = "hello world";
            $timeout(function(){
                $scope.myHeader = "world hello";
            },3000)
        })
    </script>
</body>
</html>

输出的结果:

hello world  三秒钟之后变成 world hello

$interval服务对应window.setInterval函数。在指定的周期来调用函数。

举例

<!DOCTYPE html>
<html>
<head>
    <title>$interval</title>
    <meta charset="utf-8" />
    <script src="angular/angular.min.js"></script>
</head>
<body>
    <div ng-app="myApp" ng-controller="myCtrl">
        <p>time:{{myTime}}</p>
    </div>
    <script >
        angular.module('myApp',[]).controller('myCtrl',function($scope,$interval){
            $scope.myTime = new Date().toLocaleTimeString();
            $interval(function(){
                $scope.myTime = new Date().toLocaleTimeString();
            },2000);
        })
    </script>
</body>
</html>

在浏览器上运行之后的效果是

time:下午4:21:08 两秒钟之后再显示的时间是4:21:10 以两秒钟为周期不停的调用$interval中的函数。

自定义service

举例:

<!DOCTYPE html>
<html>
<head>
    <title>自定义service</title>
    <meta charset="utf-8" />
    <script src="angular/angular.min.js"></script>
</head>
<body>
    <div ng-app="myApp" ng-controller="myCtrl">
        <p>255转换成16进制的值:{{hex}}</p>
    </div>
    <script>
        var app = angular.module('myApp',[]);
        app.service('qwer',function(){
            this.myFunction = function(x){
                return x.toString(16);
            }
        });
        app.controller('myCtrl',function($scope,qwer){
            $scope.hex = qwer.myFunction(255);
        });
    </script>
</body>
</html>

浏览器运行之后的结果为:

255转换成16进制的值:ff

<!DOCTYPE html>
<html>
<head>
    <title>过滤器中使用service</title>
    <meta charset="utf-8" />
    <script src="angular/angular.min.js"></script>
</head>
<body>
    <div ng-app="myApp">
        <p>{{255 | myFormat}}</p>
    </div>
    <script>
        var app = angular.module('myApp',[]);
        app.service('qwer',function(){
            this.myFunction = function(x){
                return x.toString(16);
            }
        });
        app.filter('myFormat',['qwer',function(qwer){
            return function(x){
                return qwer.myFunction(x);
            }
        }]);
    </script>
</body>
</html>

浏览器运行之后的结果为:ff

service过滤数组

举例

</head>
<body>
    <div ng-app="myApp" ng-controller="myCtrl">
        <p>对数组进行过滤</p>
        <ul>
            <li ng-repeat=" x in counts">{{x | myFormat}}</li>
        </ul>
    </div>
    <script>
        var app = angular.module('myApp',[]);
        app.service('qwer',function(){
            this.myFunction = function(x){
                return x.toString(16);
            }
        });
        app.filter('myFormat',['qwer',function(qwer){
            return function(x){
                return qwer.myFunction(x);
            }
        }]);
        app.controller('myCtrl',function($scope){
            $scope.counts = [255,251,456];
        })
    </script>
</body>
</html>

输出的结果为

对数组进行过滤

  • ff
  • fb
  • 1c8
以上就是angularjs服务的总结!让我们再来回顾一下,首先是讲解的是$location.absUrl获取网页的连接,其次就是¥http获取服务器的数据。然后将response中的data赋给html元素。然后是$timeout,该服务定义在一定时间之后app执行某个函数一次。再就是$interval,该服务是让app以多久为周期不停的执行某个函数。最后讲了自定义服务的使用。以及如何在过滤其中如何使用自定义service.


深度学习作为人工智能的关键分支,依托多层神经网络架构对高维数据进行模式识别与函数逼近,广泛应用于连续变量预测任务。在Python编程环境中,得益于TensorFlow、PyTorch等框架的成熟生态,研究者能够高效构建面向回归分析的神经网络模型。本资源库聚焦于通过循环神经网络及其优化变体解决时序预测问题,特别针对传统RNN在长程依赖建模中的梯度异常现象,引入具有门控机制的长短期记忆网络(LSTM)以增强序列建模能力。 实践案例涵盖从数据预处理到模型评估的全流程:首先对原始时序数据进行标准化处理与滑动窗口分割,随后构建包含嵌入层、双向LSTM层及全连接层的网络结构。在模型训练阶段,采用自适应矩估计优化器配合早停策略,通过损失函数曲线监测过拟合现象。性能评估不仅关注均方根误差等量化指标,还通过预测值与真实值的轨迹可视化进行定性分析。 资源包内部分为三个核心模块:其一是经过清洗的金融时序数据集,包含标准化后的股价波动记录;其二是模块化编程实现的模型构建、训练与验证流程;其三是基于Matplotlib实现的动态结果展示系统。所有代码均遵循面向对象设计原则,提供完整的类型注解与异常处理机制。 该实践项目揭示了深度神经网络在非线性回归任务中的优势:通过多层非线性变换,模型能够捕获数据中的高阶相互作用,而Dropout层与正则化技术的运用则保障了泛化能力。值得注意的是,当处理高频时序数据时,需特别注意序列平稳性检验与季节性分解等预处理步骤,这对预测精度具有决定性影响。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值