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

AngularJS面试常见问题汇总

双向数据绑定是 AngularJS 的核心机制之一。当 view 中有任何数据变化时,会更新到 model ,当 model 中数据有变化时,view 也会同步更新,显然,这需要一个监控。...原理就是,Angular 在 scope 模型上设置了一个监听队列,用来监听数据变化并更新 view 。...每次绑定一个东西到 view 上时 AngularJS 就会往 $watch 队列里插入一条 $watch ,用来检测它监视的 model 里是否有变化的东西。...2 AngularJS的数据双向绑定是怎么实现的? 1、每个双向绑定的元素都有一个watcher 2、在某些事件发生的时候,调用digest脏数据检测。...因此如果我们是根据不同的条件来进行dom节点的加载的话,那么ng-if的性能好过ng-show. 5. 列出至少三种实现不同模块之间通信方式?

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

    再谈angularJS数据绑定机制及背后原理—angularJS常见问题总结

    当你写下表达式如{{ val }}时,AngularJS在幕后会为你在scope模型上设置一个watcher(表达式将被 Angular 编译成一个监视函数),它用来在数据发生变化的时候更新view。...这里的watcher和你会在AngularJS中设置的watcher是一样的: $scope....这些watchers会检查scope中的当前model值是否和上一次计算得到的model值不同。如果不同,那么对应的回调函数会被执行。...但是,如果你在AngularJS上下文之外的任何地方修改了model,那么你就需要通过手动调用$apply()来通知AngularJS。...当 ng-if 变为 false,ng-if 下的 scope 被销毁,注册在这个 scope 里的绑定表达式也就随之销毁了。

    7.9K40

    Angularjs基础(五)

    使用ng-options创建选项框     在AngularJS 中我们可以使用ng-option指令来创建一个下拉列表,列表通过对象和数组循环输出       实例:         为值(value);           model="selectedSite" ng-options="x for (x,y) in sites">           ...value 在key-value 对中也可以是个对象;           实例         选择的值在key-value 对的value 中,这是 它是一个对象。           ...model="selectedCar" ng-options="y.brand for (x,y) in sites "> AngularJS 表格       ...在现代浏览器中,为了数据的安全,所又请求被严格限制在同一域名下,如果需要调用不同站点数据,需要通过跨域来解决。       以下的PHP代码运行使用的网站进行跨域访问。

    3.3K50

    angularjs学习第七天笔记(系统指令学习)

    您好,接着在昨天对简单指令学习了解以后,今天开始学习了解angularjs中的系统指令   系统指令大部分都是以ng开始,这也是为什么在自定义指令命名时不要以ng开始的原因所在   系统指令在学习了分成两个部分进行学习...:基础指令、在指令中使用子作用域   第一、基础指令     基础指令由包括bool型和类bool型两类     bool型指令,就是其值是一bool值(true or false)     1.1、bool...,必须要加引号         b.ng-include,加载外部html,script标签中的内容不执行,不能加载,如果需要控制器处理需要在主页中注册         c.ng-include,加载外部...        ng-if指令       是否显示model="isShow" />       ng-if=...当$index值是奇数时值为true     ng-repeat在数据列表显示中用的比较多,在实际使用中可以根据其关键字进行样式设置展示     特别说明:集合数据的开始坐标是0,所以在处理奇偶数时要注意

    2.9K10

    Angularjs基础(八)

    scope.passw2      模型变量(用户密码2)       $scope.users       模型变量(用户的数组)       $scope.edit        当用户点击创建用户时设置为...$scope.error        如果passw1 不等于passw2置为true。       ...$scope.incomplete      如果每个字段都为空(length = 0)设置为 true       $scope.editUser      设置模型变量       $scope.watch...       监控模型变量       $scope.test        验证模型变量的错误和完整性 AngularJS 包含     在AngularJS 中,你可以在HTML中包含HTML...在HTML中包含HTML 文件 服务端包含     大多服务脚本都支持包含文件功能 客户端包含     通过 JavaScript 有很多种方式可以在 HTML 中包含 HTML 文件。

    3K60

    AngularJS in Action读书笔记6(实战篇)——bug hunting

    这一系列文章感觉写的不好,思维跨度很大,原本是由于与《Angularjs in action》有种相见恨晚而激发要写点读后感之类的文章,但是在翻译或是阐述的时候还是会心有余而力不足,零零总总的写了《...一开始的思路是 ng-if="myUser.existed" status-arr="myUser.statusArr" d3chart>   直接通过ng-if控制,然后在DataController...中为myUser.existed赋值为true,然后想着在directive中将这个myUser.existed置为false,但是一直为这个existed如何注入到directive中并进行赋值所困扰...这个思路应该是没有问题的,但是在实操过程中,还是没能解决问题。...这样一来,就能够完成在directive中修改myUser.existed的值了。使得在不同模块切换过程中不会残留statistic中的图形显示了。

    1K100

    angularjs学习第七天笔记(系统指令学习)

    您好,接着在昨天对简单指令学习了解以后,今天开始学习了解angularjs中的系统指令   系统指令大部分都是以ng开始,这也是为什么在自定义指令命名时不要以ng开始的原因所在   系统指令在学习了分成两个部分进行学习...:基础指令、在指令中使用子作用域   第一、基础指令     基础指令由包括bool型和类bool型两类     bool型指令,就是其值是一bool值(true or false)     1.1、bool...控制下拉框选中项  1.2、类布尔指令包括:     ng-href 指令:与html中的href对应,其好处是当为给其赋值时     ng-src指令:与html中的src对应,表达式生效之前不要加载图像...,必须要加引号         b.ng-include,加载外部html,script标签中的内容不执行,不能加载,如果需要控制器处理需要在主页中注册         c.ng-include,加载外部...当$index值是奇数时值为true     ng-repeat在数据列表显示中用的比较多,在实际使用中可以根据其关键字进行样式设置展示     特别说明:集合数据的开始坐标是0,所以在处理奇偶数时要注意

    2.6K30

    前端面试题angular_Vue前端面试题

    第一点区别是,ng-if 在后面表达式为 true 的时候才创建这个 dom 节点,ng-show 是初始时就创建了,用 display:block 和 display:none 来控制显示和不显示。...这样会导致,在 ng-if 中用基本变量绑定 ng-model,并在外层 div 中把此 model 绑定给另一个显示区域,内层改变时,外层不会同步改变,因为此时已经是两个变量了。...AngularJS在scope变量中使用脏值检查来实现了数据双向绑定,并且可以通过scope.watch来监听变化触发回调; angular中使用的是脏检查机制,在angular中每次你绑定一些东西到你的...而在 ngRoute 中不能这样定义,如果同时在父子视图中 使用了 会陷入死循环。...在scope中,@,=,&在进行值绑定时分别表示 @获取一个设置的字符串,它可以自己设置的也可以使用{ {yourModel}}进行绑定的; = 双向绑定,绑定scope上的一些属性; &用于执行父级

    14.1K20

    第215天:Angular---指令

    指令(Directive) AngularJS 有一套完整的、可扩展的、用来帮助 Web 应用开发的指令集 在 DOM 编译期间,和 HTML 关联着的指令会被检测到,并且被执行 在 AngularJS...中将前缀为 ng- 这种属性称之为指令,其作用就是为 DOM 元素调用方法、定义行为绑定数据等 简单说:当一个 Angular 应用启动,Angular 就会遍历 DOM 树来解析 HTML,根据指令不同...1、ng-app 指令 ng-app指令用来标明一个AngularJS应用程序 标记在一个AngularJS的作用范围的根对象上 系统执行时会自动的执行根对象范围内的其他指令 可以在同一个页面创建多个ng-app...,用于决定是否添加一个特定的类名,键为class名,值为bool类型表示是否添加该类名 1 2 3 <li ng-repeat="item in messages...ng-class ng-show/ng-hide/ng-if ng-click ng-link/ng-src 11、自定义指令 AngularJS中可以通过代码自定义指令: 1 myModule.directive

    3.2K30

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

    使用ng-model属性把元素绑定到模型属性上,如果$scope上不存在,则立即创建,如果存在则绑定,允许同时绑定到多个HTML元素上。...这个指令有三种使用方式,这三种方式取决于表达式计算结果: 如果表达式结果为字符串,则字符串为使用空格分隔的一个或多个类名。...如果表达式结果为一个数组,则数组中每个元素为使用空格分隔的一个或多个类名字符串。 如果表达式结果为一个对象,对象中的每个key-value中如果键值为真时则键名作为类名。...这个指令不会添加重复的类,如果这个类已经存在的话。 当表达式改变时,以前添加的类会被移除,并且只会添加之后新产生的类。 ngStyle指令允许你在HTML元素上条件化设置CSS样式。...练习:购物车 1、双向绑定集合中的数据 2、执行移除事件 3、隔行换色、使用angularJS完成 4、点击数量与小计时进行排序(选做) 三、区分UI和控制器的职责 控制器的职责: 1、为应用中的模型设置初始状态

    15.4K100

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

    框架是一个软件的半成品,在全局范围内给了大的约束。库是工具,在单点上给我们提供功能。框架是依赖库的。AngularJS是框架而jQuery则是库。...2.3、ng-model 使用ng-model属性把元素绑定到模型属性上,如果$scope上不存在,则立即创建,如果存在则绑定,允许同时绑定到多个HTML元素上。...如果表达式结果为一个数组,则数组中每个元素为使用空格分隔的一个或多个类名字符串。 如果表达式结果为一个对象,对象中的每个key-value中如果键值为真时则键名作为类名。...这个指令不会添加重复的类,如果这个类已经存在的话。 当表达式改变时,以前添加的类会被移除,并且只会添加之后新产生的类。 ngStyle指令允许你在HTML元素上条件化设置CSS样式。...三、区分UI和控制器的职责 控制器的职责: 1、为应用中的模型设置初始状态 2、通过$scope对象把数据模型和函数暴露给视图(UI模板) 3、监视模型其余部分的变化,并采取相应的动作,双向绑定 为了让控制器保持轻量可管理状态

    12.6K30

    【笔记】AngularJs学习笔记【实践回顾与知识点归纳】

    -- ng-repeat为items数组中每个元素拷贝一个这个div中的DOM,在div每次拷贝中,同时设置一个叫item的属性代表当前元素 --> <div ng-repeat='item in items...(2)使用ng-app告知angular管理那一部分的DOM; 注释:如果在现有的一个应用中,希望使某部分用angularjs来管理,就在该部分的元素上加上ng-app,如 其次,在我们在scope中创建数据的时候,应该使用“模型对象”的方式来包含数据,这样能避免在scope对象中原型继承引起非预期的行为。...4、angular常用指令 ng-bind、ng-model、ng-show/hide 、ng-if ng-checked、ng-src、ng-href、 ng-class 、 ng-selected、...每篇一语: 《致命魔术》中说过,“魔术三步骤——以虚代实、偷天换日、化腐朽为神奇”,波登在影片最后告诉安杰,对艺术的牺牲才是他的secret,这也诠释了魔术的最后一步骤。

    22930
    领券