angular 几个 服务 orderBy排序 省市联动

/

service服务


<!DOCTYPE html>

<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript" src="../../angular/angular.js" ></script>
        <script>
            var app = angular.module("myApp",[]);
            app.controller("myCtrl",function($scope,$a){
                $scope.name = myService.name;
                $scope.sex = myService.sex;
            });
            //自定义service服务,,通过this
            app.service("$a",function(){
                
                this.name = "张三";
                this.sex = "女";
            });
        </script>
    </head>
    <body ng-app="myApp" ng-controller="myCtrl">
        <p>自定义service服务:{{name}}</p>
    </body>
</html>




/

factory服务


<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript" src="../../angular/angular.js" ></script>
        <script>
            var a = 20;
            
            var app = angular.module("myApp",[]);
            app.controller("myCtrl",function($scope,$myFactory){
                $scope.name = $myFactory.name;
                //$scope.age = $myFactory.age;
                $scope.newAge;
                
                $scope.fun = function(){
                    $myFactory.setAge($scope.newAge);
                    $scope.age = $myFactory.getAge();
                }
            });
            
            //通过调用factory函数自定义服务
            /*app.factory("$myFactory",function(){
                var student = {};
                student.age = a;
                student.name = "张三";
                return student;
            });*/
            
            //通过调用factory函数自定义服务,,在外面$myFactory代表student
            
            app.factory("$myFactory",function(){
                var student = {};//创建一个空对象,返回这个对象
                var age;//定义随便一个私有变量
                //给student对象设置方法,这个方法可以直接被student对象调用。
                //通过操作这个方法,操作私有化变量。
                student.setAge = function(newAge){
                    age = newAge;
                }
                student.getAge = function(){
                    return age;
                }
                student.name = "张三";//直接给对象属性赋值,赋好的值,可以直接通过对象名.属性名获取。
                return student;
            });
            
        </script>
    </head>
    <body ng-app="myApp" ng-controller="myCtrl">
        <input type="number"  ng-model="newAge"/>
        <button ng-click="fun()">点击查看年龄</button>
        {{name +":"+age}}
    </body>
</html>



/

orderBy排序


<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <script type="text/javascript" src="js/angular.js" ></script>
        <script>
            var app = angular.module("myApp",[]);
            //创建控制器
            app.controller("myCtrl",function($scope){
                //准备数据
                var date1 = new Date("2017-11-20 09:32:21");
                var date2 = new Date("2017-11-20 10:32:21");
                var date3 = new Date("2017-11-20 11:11:11");
                $scope.goods = [{
                    name:"云南白药",
                    num:100,
                    address:"云南",
                    price:19.9,
                    date:date1
                },{
                    name:"999感冒灵",
                    num:30,
                    address:"北京",
                    price:12.5,
                    date:date2
                },{
                    name:"感康片",
                    num:20,
                    address:"河北",
                    price:16.6,
                    date:date3
                }];
                
                $scope.orderKey = "";
                
                $scope.thClick = function(ele){
                    $scope.orderKey = ele;
                };
                
            });
            
        </script>
    </head>
    <body ng-app="myApp" ng-controller="myCtrl">
        排序规则:<select ng-model="orderKey">
            <option value="num">按数量升序</option>
            <option value="-num">按数量降序</option>
            <option value="date">按日期升序</option>
            <option value="-date">按日期降序</option>
            <option value="price">按价格升序</option>
            <option value="-price">按价格降序</option>
        </select>
        <table border="1">
            <thead>
                <th>名字</th><th ng-click="thClick('num')">数量</th><th>地址</th><th>价格</th><th ng-click="thClick('date')">日期</th>
            </thead>
            <tbody>
                <tr ng-repeat="g in goods | orderBy:'-num' |orderBy:orderKey">
                    <td>{{g.name}}</td>
                    <td>{{g.num}}</td>
                    <td>{{g.address}}</td>
                    <td>{{g.price | currency:"¥"}}</td>
                    <td>{{g.date | date:"yyyy-MM-dd hh:mm:ss"}}</td>
                </tr>
            </tbody>
        </table>
    </body>
</html>




///

myFactory

factory服务


<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript" src="js/angular.js" ></script>
        <script>
            var app = angular.module("myApp",[]);
            app.controller("myCtrl",function($scope,$myFactory,myservice,myprovider){
                $scope.address1="北京" ;
                $scope.str ;
                
                $scope.name1 = $myFactory.sname;
                $scope.age1 = $myFactory.sage;
                $scope.fun = function(){
                    $myFactory.setAddress($scope.address1);
                    $scope.str = $myFactory.getAddress();
                }
                
                $scope.name2 = myservice.sname;
                $scope.age2 = myservice.sage;
                
                
                $scope.carname = myprovider.cname;
                $scope.carprice = myprovider.cprice;
                
                $scope.num1 =1;
                $scope.num2 =2;
                $scope.result = myservice.add($scope.num1,$scope.num2);
                
            });
            //自定义factory服务,提供一个学生对象数据
            app.factory("$myFactory",function(){
                var student = {};
                var address;
                student.sname = "张三";
                student.sage = 20;
                student.setAddress = function(newAddress){
                    address = newAddress;
                }
                student.getAddress = function(){
                    return address;
                }
                return student;
            });
            app.service("myservice",function(){
                this.sname="李四";
                this.sage = 30;
                this.add = function(x,y){
                    return x+y;
                }
            });
            app.provider("myprovider",function(){
                this.$get=function(){
                    var car = {};
                    car.cname = "宝马x3";
                    car.cprice = "300000";
                    return car;
                }
            });
        </script>
    </head>
    <body ng-app="myApp" ng-controller="myCtrl">
        <input type="text" ng-model="address1" /><span>{{str}}</span><input type="button" value="查看地址" ng-click="fun();" />
        学生姓名1:{{name1}},年龄1:{{age1}}<br />
        学生姓名2:{{name2}},年龄2:{{age2}}<br />
        汽车名字3:{{carname}},价钱3:{{carprice}}<br />
        <br />
        <input type="number"  ng-model="num1"/>+<input type="number"  ng-model="num2"/>=<span>{{num1+num2}}</span>
        
    </body>
</html>




//

三级省市联动


<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript" src="js/angular.js" ></script>
        <script>
            var app = angular.module("myApp",[]);
            app.controller("myCtrl",function($scope){
                $scope.proList =[
                    {
                        "amode":"河南",
                        "citys":[
                                    {"name":"郑州",
                                     "area":[{"aname":"郑1区"},{"aname":"郑2区"}]
                                    },
                                    {"name":"开封",
                                     "area":[{"aname":"开1区"},{"aname":"开2区"}]
                                    }
                                ]
                    },
                    {
                        "amode":"河北",
                        "citys":[
                                    {"name":"石家庄",
                                     "area":[{"aname":"石1区"},{"aname":"石2区"}]
                                    },
                                    {"name":"邯郸",
                                    "area":[{"aname":"邯1区"},{"aname":"邯2区"}]
                                    }
                        ]
                    }
                ];
                $scope.str="我是一个无用的属性";
               
               $scope.proChange = function(){
                       $scope.select2 = $scope.select1.citys[0];
                       $scope.select3 = $scope.select2.area[0];
               }
               $scope.cityChange = function(){
                       $scope.select3 = $scope.select2.area[0];
               }
            });
        </script>
    </head>
    <body ng-app="myApp" ng-controller="myCtrl">
        
        <div>
            <select style="width: 120px;" ng-init="select1=proList[0]" ng-model="select1" ng-change="proChange();" ng-options="item.amode for item in proList"></select>
            <select style="width: 120px;" ng-init="select2=select1.citys[0]" ng-change="cityChange();" ng-model="select2" ng-options="data1.name for data1 in select1.citys"></select>
            <select style="width: 120px;" ng-init="select3=select2.area[0]" ng-model="select3" ng-options="a.aname for a in select2.area"></select>
        </div>
    </body>
</html>



//


provider服务


<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript" src="../../angular/angular.js" ></script>
        <script>
            var app = angular.module("myApp",[]);
            app.controller("myCtrl",function($scope,myProvider){
                $scope.food = myProvider.food;
            });
            //自定义provider服务
            app.provider("myProvider",function(){
                this.$get = function(){
                    var result = {};
                    result.food = "唐僧肉";
                    return result;
                };
            });
            
        </script>
    </head>
    <body ng-app="myApp" ng-controller="myCtrl">
        我想吃:{{food}}
    </body>
</html>



select服务


<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript" src="../../angular/angular.js" ></script>
        <script>
            var app = angular.module("myApp",[]);
            app.controller("myCtrl",function($scope,$a){
                $scope.name = myService.name;
                $scope.sex = myService.sex;
            });
            //自定义service服务,,通过this
            app.service("$a",function(){
                
                this.name = "张三";
                this.sex = "女";
            });
        </script>
    </head>
    <body ng-app="myApp" ng-controller="myCtrl">
        <p>自定义service服务:{{name}}</p>
    </body>
</html>





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值