首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Angularjs1.X进阶笔记(1)—两种不同的双向数据绑定

1.1数据从html流向controller 也就是从视图层流向模型层,原生html中需要使用表单元素(例如input标签)来收集用户输入信息,Angularjs中通过在表单元素上使用ng-model标签...这里就是 Angularjs1.X双向数据绑定中的第一个坑 ,你会发现$scope上绑定的数据模型和html中显示的内容有时候并不是实时关联的。这其实和Angularjs1.X的执行机制有关系。...那么此处的问题其实就在于,在setInterval的回调函数中去修改数据模型的值时,没有触发$apply()方法来更新视图,而通过调用Angularjs封装的ng-*方法(例如ng-click点击方法)...每次点击+1按钮,Scope.testInfo.content的值都会增加1 每次点击show $scope.testInfo,控制台都会打印出$scope.testInfo的值 每次点击标签上的数字,...按钮 2.2 你丫怎么又不刷新了 随着上一节的操作步骤,我们一起来见证双向数据绑定中又一次闹鬼事件: 点击5次+1按钮,再点击5次数字标签 结果为: ?

3.5K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Angularjs的表单验证

    我们首先必须确保form上标签有一个name属性,像上面的例子一样。 我们可以进行一些基本的验证,例如最小长度,最大长度,等等,这些都是HTML5自带的属性验证功能。...Tips:通常需要在form标签中加上novalidate属性,这样可以禁用浏览器自带的验证功能,从而使用AngularJS提供的。...如果表单当前没有通过验证,他将为true: formName.inputFieldName.$invalid 最后两个属性在用于DOM元素的显示隐藏时是特别有用的。...$error 如果验证失败,此属性将是true的(因为length>0)。 控制验证时的样式 当AngularJS处理的验证时,它将根据验证的状态增加一些特定的class属性。...这些验证分别是:必须有一个长度为3或更多的名字。并且最大长度限制为20个字符。最后,名称应该是必填的。 让我们用属性来控制显示还是隐藏错误信息。

    2.2K10

    详细介绍 AngularJS 表单的各种特性、用法和最佳实践

    ng-show 和 ng-hide:根据验证状态显示隐藏错误信息。ng-messages:用于显示并管理多个验证错误消息。...表单交互AngularJS 表单还提供了一些交互性的功能,例如动态显示/隐藏字段、禁用/启用按钮等。...条件显示/隐藏字段可以使用 AngularJS 的指令 ng-show 和 ng-hide 来根据特定条件动态显示隐藏表单字段。...showField">提交在上述示例中,我们定义了一个复选框来控制一个文本输入框的显示隐藏,同时根据该复选框的状态来禁用或启用提交按钮。4....总结AngularJS 表单提供了丰富的特性和功能,包括表单控件的类型、属性和验证指令,以及条件显示/隐藏字段、禁用/启用按钮等交互性的操作。

    21030

    Angular学习资料大全和常用语法汇总(让后端程序员轻松上手)

    /course/list/20.html Angular实战教程视频: https://www.bilibili.com/video/BV1i741157Fj?...指令大全: 指令 描述 ng-app 定义应用程序的根元素。...ng-dblclick 规定双击事件的行为 ng-disabled 规定一个元素是否被禁用 ng-focus 规定聚焦事件的行为 ng-form 指定 HTML 表单继承控制器表单 ng-hide 隐藏显示...ng-readonly 指定元素的 readonly 属性 ng-repeat 定义集合中每项数据的模板 ng-selected 指定元素的 selected 属性 ng-show 显示隐藏 HTML...ng-srcset 指定 元素的 srcset 属性 ng-style 指定元素的 style 属性 ng-submit 规定 onsubmit 事件发生时执行的表达式 ng-switch 规定显示隐藏子元素的条件

    5.3K41

    angularjs学习第一天笔记

    您好,我是一名后端开发工程师,由于工作需要,现在系统的从0开始学习前端js框架之angular,每天把学习的一些心得分享出来,如果有什么说的不对的地方,请多多指正,多多包涵我这个前端菜鸟,欢迎大家的点评与赐教...第一天,简单了解了其中中一些基本概念  1、angularjs的解释     angularjs是Google旗下的一个前端js框架,其与html、css、js配合使用,从而使得web开发更加的简单快捷...2、angularjs创建一个页面的简单特性     a.首先要引用angularjs类库     b.在html页面要标注ng-app属性,该标注表示所在范围内的DOM结构才收angularjs所控制...    c.数据绑定模块的默认格式为{{参数名称}},当然这个格式是可以自定义设置的     d.第DOM标签添加angular属性时,都是以ng-开始     e.angular框架中数据模型数据的变更会动态的绑定显示到...view中     f.angular框架外的js修改数据模型的变化不会动态的绑定显示到view中,需要借助$apply手动更新     f.Scope提供$watch方法监视Model的变化

    2.2K10

    angularjs学习第一天笔记

    您好,我是一名后端开发工程师,由于工作需要,现在系统的从0开始学习前端js框架之angular,每天把学习的一些心得分享出来,如果有什么说的不对的地方,请多多指正,多多包涵我这个前端菜鸟,欢迎大家的点评与赐教...第一天,简单了解了其中中一些基本概念  1、angularjs的解释     angularjs是Google旗下的一个前端js框架,其与html、css、js配合使用,从而使得web开发更加的简单快捷...2、angularjs创建一个页面的简单特性     a.首先要引用angularjs类库     b.在html页面要标注ng-app属性,该标注表示所在范围内的DOM结构才收angularjs所控制...    c.数据绑定模块的默认格式为{{参数名称}},当然这个格式是可以自定义设置的     d.第DOM标签添加angular属性时,都是以ng-开始     e.angular框架中数据模型数据的变更会动态的绑定显示到...view中     f.angular框架外的js修改数据模型的变化不会动态的绑定显示到view中,需要借助$apply手动更新     f.Scope提供$watch方法监视Model的变化

    2.1K30

    前端MVC学习总结(一)——MVC概要与angular概要、模板与数据绑定

    1.6、第一个AngularJS程序 如果要开发基于angularJS的项目,先要添加对angularJS的引用,有如下几个方法: 1)、去angular官网或git下载,地址:https://github.com...方法二与方法一的区别: 使用模块标签{{ }}加载慢或渲染慢时用户将看到标签,而ng-bind不会,但是使用模块要方便。 2.2、显示HTML 为了安全默认的HTML都将被转义。...2.3、ng-model 使用ng-model属性把元素绑定到模型属性上,如果$scope上不存在,立即创建,如果存在绑定,允许同时绑定到多个HTML元素上。...2.8、ng-show与ng-hide 用于显示隐藏元素。 ng-show=true 显示 ng-hide=true 隐藏 ng-if 与 show/hide的原理是不一样的 示例: <!...如果表达式结果为一个数组,数组中每个元素为使用空格分隔的一个或多个类名字符串。 如果表达式结果为一个对象,对象中的每个key-value中如果键值为真时键名作为类名。

    12.6K30

    前端MVC学习总结(一)——MVC概要与angular概要、模板与数据绑定

    的核心组件: 1.6、第一个AngularJS程序 如果要开发基于angularJS的项目,先要添加对angularJS的引用,有如下几个方法: 1)、去angular官网或git下载,地址:https...$scope上不存在,立即创建,如果存在绑定,允许同时绑定到多个HTML元素上。...ng-show=true 显示 ng-hide=true 隐藏 ng-if 与 show/hide的原理是不一样的 示例: <!...这个指令有三种使用方式,这三种方式取决于表达式计算结果: 如果表达式结果为字符串,字符串为使用空格分隔的一个或多个类名。...如果表达式结果为一个数组,数组中每个元素为使用空格分隔的一个或多个类名字符串。 如果表达式结果为一个对象,对象中的每个key-value中如果键值为真时键名作为类名。

    15.3K100

    AngularJS的digest循环和$apply

    最近在写AngularJS,遇到一个问题,在Ajax异步请求后台数据,然后将结果赋值给当前scope中某对象的属性,在页面中怎么都取不到,然而在js端却可以正常打印出来。...分析原因:第一感觉是前端页面绑定指令不对,导致不能正常显示,然而变化各种指令都不能正常获取,很是郁闷;最后去掉Ajax,直接返回给页面,结果却是可以的,初步排除了与绑定指令相关。...一、传统事件触发 在标准的浏览器流程中,页面加载、$http请求返回响应、鼠标移动以及按钮被点击等情况都会触发事件。...(原因:如果有一个名为scope.user.fullName的属性由scope.user.fullName的属性由scope.user.firstName和$scope.user.lastName组成,...四、$apply从外部进入上下文 所有指令ng-[event]指令(如ng-click)都会调用scope.scope.apply(),以强制运行$digest循环。

    3.2K41

    Angularjs基础(八)

    edit = true 显示元素                 如果edit = true 隐藏元素       <input ng-model...ngAnimate 模型并不能使用HTML 元素产生动画,但是ngAnimate 会检测事件,类似隐藏显示HTML元素     如果事件发生ngAnimate 就会使用预定义的class来设置HTML...例如: ng-hide 指令会添加一下类:     ng-animate         ng-hide-animate         ng-hide-add (如果元素将被隐藏)...        ng-hide-remove (如果元素将显示)         ng-hide-add-active (如果元素将隐藏)         ng-hide-remove-active...(如果元素将显示) 使用CSS动画       我们可以使用 CSS transition(过渡) 或 CSS 动画让 HTML 元素产生动画效果, CSS过渡       CSS 过渡可以让我们平滑的将一个

    2.9K60

    angular常用内置指令

    记得AngularJS 1.2.x时还可以这样定义controller来着... rootScope上......ng-form 起初不明白为什么会有个表单指令,标签感觉也够用啊。 以表单验证为例,在上一篇中有这么一段代码: 也就是表单的状态为$invalid时禁用提交按钮。...ng-disabled 像这种只要出现生效的属性,我们可以在AngularJS中通过表达式返回值true/false令其生效。 禁用表单输入字段。...ng-checked 这个是给多选用的 ng-selected 这个是给下拉框用的 ng-show/ng-hide 根据表达式显示/隐藏HTML元素,注意是隐藏,不是从DOM移除...ng-if 如果ng-if中的表达式为false,对应的元素整个会从DOM中移除而非隐藏,但审查元素时你可以看到表达式变成注释了。 如果相进行隐藏,可以使用ng-hide。

    19410
    领券