AngularJS----服务,表单,模块

AngularJS中的服务

服务是一个函数或对象,AngularJS中可以创建自己的服务或使用内建服务。$http是AngularJS中最常见的服务,服务向服务器发送请求,应用响应服务器传送过来的数据。

  • $http服务

它是AngularJS中的一个核心服务,用于读取远程服务器(Web)的数据。$http.get(utl)用于读取数据的函数。也就是get请求服务器。

app.controller("outController",function($scope,ahui_out,$http){
    $scope.hex=ahui_out.myFunc(255);
    $http.get("welcome.html").then(function(response){
        $scope.myWelcome=response.data;
    });
});

我们通过$http.get()得到的是数组数据,之后需要在页面上进行遍历输出。

app.controller("getController",function($scope,$http){
    $http.get("http://www.runoob.com/try/angularjs/data/Customers_JSON.php")
    .success(function(response){
        $scope.names=response.records   //这里到时候返回的是一个数组names[]
    });
});

  • timeout服务

相当于JS中的window.setTimeout函数。

  • interval服务

相当于JS中的window.setInterval函数。

app.controller("myController",function($scope,$location,$timeout,$interval){
    $scope.myUrl=$location.absUrl();          //找到url
    $scope.myHeader="zhanghui";
    //延迟显示---相当于js中的setTimeout();
    $timeout(function(){
        $scope.myHeader="zheng de shi ni ma ?";
    },2000);
    $scope.theTime=new Date().toLocaleTimeString();
    //相当于js中的setInterval();
    $interval(function(){
    $scope.theTime=new Date().toLocaleTimeString();
    },1000);
});


之前以为这里的参数只能写几个,没想到基本的都可以写,它里面是个parametr性质的。

  • 创建自定义服务

我们可以自己创建服务给其设置功能,就相当于前面的两个一样。

app.controller("outController",function($scope,ahui_out){
    $scope.hex=ahui_out.myFunc(255);
});
//自定义模板,这里就相当于我们之前的timeout,interval,location等。
app.service("ahui_out",function(){
    this.myFunc=function(x){
        return x.toString(16);
    }
});


利用service函数可以参加自定义的服务,服务名为ahui_out。在控制器中就可以使用它。

AngularJS中的select选择框

可以利用AngularJS往选择框中输入值,进行选择。

        <div ng-controller="xuanController">
            <select ng-model="selectedName" ng-options="x for x in names">
            </select>
        </div>
        //选择框
         app.controller("xuanController",function($scope){
        $scope.names=[‘1‘,‘2‘,‘3‘];
        });


现在把选择的数据都放在了ng-model=”selectedSite”中。可以使用ng-repeat,但是二者是有区别的,ng-repeat指令时通过数组来循环HTML代码来创建下拉列表,但是ng-options指令更适合创建下拉列表,ng-repeat是一个字符串,ng-options的选项是一个对象。

AngularJS HTML DOM

提供HTML DOM元素的属性提供绑定应用数据的指令。

  • ng-disabled指令

直接绑定应用程序数据到html的disabled属性。其实就和HTML中的disable属性一样。

  • ng-show指令

隐藏或显示一个html元素,主要是根据value的值来显示和隐藏元素的。ng-hide刚好和它相反,true隐藏,false不隐藏。

AngularJS模块

模块定义了一个应用程序,是应用程序中的不同部分的容器,是应用控制器的容器,控制器通常属于一个模块。

     var app=angular.module("myApp",[]);

在模块定义中[ ]参数用于定义模块的依赖关系,要是模块之间有关系,那么会在中括号写上依赖的模块名字。

注意:对于我们的js脚本,通常是要放在<body>元素的最底部。这回提高网页的加载速度。

AngularJS表单与验证

终于到表单了,其实这次的项目主要是学习表单和验证,因为项目中使用的就是这个。

app.controller("FormController",function($scope){
    $scope.master={username:‘ahui‘,pwd:‘123321‘};
    //方法
    $scope.reset=function(){
        $scope.user=angular.copy($scope.master);
    };
    $scope.reset();
});

        <div ng-controller="FormController">
            <form novalidate>
                登录名:<input type="text" ng-model="user.username"/><br/>
                密码:<input type="text" ng-model="user.pwd"/>
                <button ng-click="reset()">RESET</button>
            </form>
            <hr/>
            <p>{{user}}</p>
            <p>{{master}}</p>
        </div>


里面其余的东西应该可以看懂,主要是novalidate,这个是你在需要使用表单时使用,用于重写标准的HMLT5验证。是新增的,禁用了浏览器的默认验证。

AngularJS表单和控件可以提供验证功能,并对用户输入的非法数据进行警告。在里的验证只是前提,减少服务器端的压力,服务器端的验证是必不可少的。

使用了ng-show属性,显示一些错误信息到表单外面。

 <div ng-controller="form">
            <form name="myForm" novalidate>
                <p>
                    用户名:<br/>
                    <input type="text" ng-model="user" required name="user"/>
                    <span style="color:red" ng-show="myForm.user.$dirty && myForm.user.$invalid">
                    <span ng-show="myForm.user.$error.required">用户名是必须的</span>
                    </span>
                </p>
                <p>
                    密码:<br/>
                    <input type="text" ng-model="pwd" name="pwd" required/>
                    <span style="color:red" ng-show="myForm.pwd.$dirty&&myForm.pwd.$invalid">
                      <span ng-show="myForm.pwd.$error.required">密码是必须的</span>
                    </span>
                </p>
                <p>
                    邮箱:<br/>
                    <input type="email" name="email" ng-model="email" required/>
                    <span style="color:red" ng-show="myForm.email.$dirty&&myForm.email.$invalid">
                        <span ng-show="myForm.email.$dirty&&myForm.email.$invalid">邮箱不能为空</span>
                        <span ng-show="myForm.email.$error.email">非法邮箱</span>
                    </span>
                </p>
                <p>
                    <input type="submit"
                    ng-disabled="
                    myForm.user.$dirty&&
                    myForm.user.$invalid||
                    myForm.email.$dirty&&
                    myForm.email.$invalid||
                    myForm.pwd.$dirty&&
                    myForm.pwd.$invalid"/>
                </p>
            </form>
        </div>


上面图中是代码中验证输入的内容的做法。感觉这个很不爽,需要写很多的小代码在这里面。

时间: 2024-10-29 15:56:57

AngularJS----服务,表单,模块的相关文章

AngularJS实现表单手动验证和表单自动验证

AngularJS的表单验证大致有两种,一种是手动验证,一种是自动验证.一.手动验证 所谓手动验证是通过AngularJS表单的属性来验证.而成为AngularJS表单必须满足两个条件: 1.给form元素加上novalidate="novalidate": 2.给form元素加上name="theForm",如下: <!DOCTYPE html> <html lang="en" ng-app="myApp1"

angularJS 过滤器 表单验证

过滤器1.filter的作用就是接收一个输入,通过某个规则进行处理,然后返回处理后的结果,主要用于数据的格式化.2.内置过滤器(1)Currency(货币)将一个数值格式化为货币格式,默认为$(2)Date(3)Filter子串匹配用来处理一个数组,可以过滤出含有某个子串的元素,作为一个字数组来返回.通常用来过滤需要展示的元素.可以是字符串数字,对象或是一个用来从数组中选择元素的函数.字符串:返回所有包含这个字符串的元素对象:将待过滤对象的属性同这个对象中的同名属性进行对比,如果属性值是字符串就

基于angularJS的表单验证练习

今天看了一下angularJS的表单验证,看的有点云里雾里(也有可能是雾霾吸多了),于是做了一个小练习来巩固一下. html: <div ng-controller="Aaa"> <form novalidate name="loginForm"> <div> <label>用户名</label> <input type="text" name="nText"

【AngularJs】---表单验证

1. 必填项 验证某个表单输入是否已填写,只要在输入字段元素上添加HTML5标记required即可: <input type="text" required /> 2. 最小长度验证表单输入的文本长度是否大于某个最小值,在输入字段上使用AngularJS指令 ng-minleng= "{number}": <input type="text" ng-minlength="5" /> 3. 最大长度验证

AngularJs的表单验证

能够根据用户在表单中输入的内容给出实时视觉反馈是非常重要的.在人与人沟通的语境中,表单验证给出来的反馈同获得正确输入同等重要. 如果想要屏蔽浏览器对表单的默认验证行为,可以在表单元素上添加novalidate标记. <form name="form" novalidate><label name="email">Your email</label><input type="email"name="

AngularJS 的表单验证

最近开始学习angularjs,学到表单验证的时候发现有必要学习下大神的好文章: 转:http://www.oschina.net/translate/angularjs-form-validation 今天我们将来看看Angular如何帮助做表单验证. 我们将讨论更多使用angular进行有关表单操作的东西(就像我们另外的一篇文章: 提交Ajax表单:AngularJS的方式). 不过不用担心,那篇文章不一定要读的. 我们将重点放在客户端验证上,并使用Angular内置的表单属性.这里有一个 

AngularJS复习------表单验证

在AngularJS中能够将HTML5表单验证功能同自己的验证指令结合起来使用,这里介绍使用的核心功能. 使用表单验证,首先要确保表单的每个控件都有name属性 如果想要屏蔽浏览器对表单的默认验证行为,可以在表单元素上添加novalidate标记. 必填项:只需要在输入字段元素上添加HTML5标记 required即可 最小长度:在输入字段上使用AngularJS指令ng-minlength="{number}" 最大长度:在输入字段上使用AngularJS指令ng-maxlength

angularjs的表单验证问题

angularjs表单验证问题 1 可以使用angularjs自带验证,(必填项.email.url)使用方法: 通过myForm.personEmail.$valid是否为true 即可判断是否通过验证.具体是哪类错误可以通过demo: <input type="text" required />  必填 <input type="text" ng-minlength="5" /> 最小长度 <input type

AngularJs实现表单验证

首先,我们应该知道,表单中,常用的验证操作有: $dirty 表单有填写记录 $valid 字段内容合法的 $invalid 字段内容是非法的 $pristine 表单没有填写记录 $error 表单验证不通过的错误信息, $error支持的验证有:required/minlength/maxlength/pattern/email/number/date/url等 然后,验证时,需给表单,及需要验证的input,设置name属性:给form及input设置name后,会将form表单信息,默认

AngularJS的表单验证提交示例

代码下载:https://files.cnblogs.com/files/xiandedanteng/angularjsFormSubmit.rar 前台代码: <%@ page contentType="text/html; charset=UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.