时间:2021-05-25
简介
Scope(作用域) 是应用在 HTML (视图) 和 JavaScript (控制器)之间的纽带。
Scope 是一个存储应用数据模型的对象,有可用的方法和属性。
Scope 可应用在视图和控制器上。
作用域是Web应用的控制器和视图之间的粘结剂:
控制器 --> 作用域 --> 视图(DOM)
指令 --> 作用域 --> 视图(DOM)
当你在 AngularJS 创建控制器时,你可以将 $scope 对象当作一个参数传递:
<div ng-controller="myCtrl"><h1>{{name}}</h1></div><script>var app = angular.module('test', []);app.controller('myCtrl', function($scope) { $scope.name = "天下行走";});</script>输出结果: 天下行走
控制器中创建一个属性名 "name" ,对应了视图中使用 {{ }} 中的名称。
当在控制器中添加 $scope 对象时,视图 (HTML) 可以获取了这些属性。
视图中,你不需要添加 $scope 前缀, 只需要添加属性名即可,如: {{name}} 。
AngularJS 应用组成如下:
View(视图) , 即 HTML。
Model(模型) , 当前视图中可用的数据。
Controller(控制器) , 即 JavaScript 函数,可以添加或修改属性。
scope 是一个 JavaScript 对象,带有 属性 和 方法 ,这些属性和方法可以在视图和控制器中使用。
再来看个例子:
<div ng-app="myApp" ng-controller="myCtrl"> 输入你的名字: <input ng-model="name"> <h1>{{greeting}}</h1> <button ng-click='sayHello()'>greet</button> </div><script>var app = angular.module('myApp', []);app.controller('myCtrl', function($scope) { $scope.name = "张三"; $scope.sayHello = function() { $scope.greeting = $scope.name + '是个笨蛋!'; };});</script>在这个例子中,
那么具体整个示例有这样两个流程,从控制器发起的角度来看就是:
1、控制器往作用域中写属性:
给作用域中的 name 赋值,然后作用域通知视图中的 input 数据变化了, input 因为通过 ng-model 实现了双向绑定可以知道 name 的变化,进而在视图中渲染出改变的值
2、控制器往作用域中写方法
给作用域中的 sayHello() 方法赋值,该方法被视图中的 button 调用,因为 button 通过 ng-click 绑定了该方法,当用户点击按钮时, sayHello() 被调用,这个方法读取作用域中的 name 属性,加上后缀字符串,然后赋值给在作用域中新创建的 greeting 属性
整个示例的过程如果从视图的角度看,那主要是以下三个部分:
1、input 中的渲染逻辑:展示了通过 ng-model 进行的作用域和 视图中某表单元素的双向绑定
2、button 中的逻辑
接受用户单击,调用作用域中的 sayHello() 方法
3、{{greeting}} 的渲染逻辑
经过以上的两种角度分析示例过程,我们可以知道: 作用域(scope) 对象以及其属性是视图渲染的唯一数据来源。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
这两天学习了AngularJs之$scope对象这个地方知识点挺多的,而且很重要,所以,今天添加一点小笔记。一、作用域AngularJs中的$scope对象是模
什么是scope AngularJS中,作用域是一个指向应用模型的对象,它是表达式的执行环境。作用域有层次结构,这个层次和相应的DOM几乎是一样的。作用域能监
JSP中SpringBean的作用域详解Bean元素有一个scope属性,用于定义Bean的作用域,该属性有如下五个值:1>singleton:单例模式,在整个
JavaBean四个作用域范围的详解一说明使用useBeans的scope属性可以用来指定javabean的作用范围。二四个作用范围三代码1、login.jsp
AngularJSScope(作用域)Scope(作用域)是应用在HTML(视图)和JavaScript(控制器)之间的纽带。Scope是一个对象,有可用的方法