angularjs

angular 表达式 通过$parse服务解析执行。

与Javascript表达式的区别

1.属性求值:所有属性的求值是对于scope的,而javascript是对于window对象的;

2.宽容:表达式求值,对于underfined和null,angular是宽容的,单javascript会产生NullPointerExceptions=

3.没有流程控制语句:在angular表达式里,不能做以下任何的事:条件分支、循环、抛出异常。

4.过滤器(filters):我们可以就将表达式的结果传入过滤链(filter chains);

<body ng-app>
	<!--
	 model==>1213 
	 view ==>1213
	 3个view 
     数据是双向的
	-->
	<input type="test" ng-model="name"/>
	<!--angular 的表达式-->
	{{name}}
	<input type="test" ng-model="name"/>
	<!--<script type="text/javascript">
		var string='alert(1+2)';
		eval(string);
	</script>-->
</body>

scope是指向应用model的object,也是表达式的执行上下文。

scope被放置于一个类似应用的DOM结构的层次结构中。

变量变量:

1.能通过固定的接口才能改变变量的值,比如说只能通过set()设置变量的值,set被调用时比较一下就知道了。比较繁琐。

2.脏检查。

angular 使用的就是脏检查:

1.不会脏检查所有的对象,当对象被绑定到html中,这个对象添加为检查对象(watcher).

2.不会脏检查所有的属性,同样当属性被绑定后,这个属性会被列为检查的属性。

当angular程序初始化时,会将绑定的对象的属性添加为监听对象(watcher),也就是说一个对象绑定了N个属性,就会添加N个watcher。

什么时候去脏检查?

angular所系统的方法中都会触发比较事件,比如:controller初始化的时候,所有以ng-开头的事件执行后,都会触发脏检查。

手动触发脏检查:

$apply仅仅只是进入angular context,然后通过$digest去触发脏检查

$apply如果不给差数的话,检查该$scope里的所有监听的属性,推荐给上参数

$digest()

所属的scope和其所有子scope的脏检查,脏检查又会触发$watch().整个Angular双向绑定机制就活了起来

不建议直接调用$digest(),而应该使用$apply(),$apply 其实不能把信直接送给$apply,之间还有$eval门卫把关,如果$apply带的表达式不合法

$eval会把错误送交$exceptionHandler,合法才触发digest,所以更安全。

怎么触发脏检查?

  首先通过$apply方法,去触发eval()方法,当eval()解析器解析成功的时候,会触发digest()方法,digest()方法就会触发watch()方法,

$watch():

在digest执行时,如果watch观察的value与上次执行时不一样时,就会被触发

Angularjs 内部的watch实现了页面随model的及时更新

$watch(watchFn,watchAction,deepWatch)

watchFn:angular表达式或函数的字符创

watchAction(newValue,oldValue,scope):watchFn发生变化会被调用

deepWatch:可选择的布尔值命令检查被监控的对象的每个属性是否发生变化

$watch会返回一个函数,想要注销这个watch可以使用函数。





资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在当今的软件开发领域,自动化构建与发布是提升开发效率和项目质量的关键环节。Jenkins Pipeline作为一种强大的自动化工具,能够有效助力Java项目的快速构建、测试及部署。本文将详细介绍如何利用Jenkins Pipeline实现Java项目的自动化构建与发布。 Jenkins Pipeline简介 Jenkins Pipeline是运行在Jenkins上的一套工作流框架,它将原本分散在单个或多个节点上独立运行的任务串联起来,实现复杂流程的编排与可视化。它是Jenkins 2.X的核心特性之一,推动了Jenkins从持续集成(CI)向持续交付(CD)及DevOps的转变。 创建Pipeline项目 要使用Jenkins Pipeline自动化构建发布Java项目,首先需要创建Pipeline项目。具体步骤如下: 登录Jenkins,点击“新建项”,选择“Pipeline”。 输入项目名称和描述,点击“确定”。 在Pipeline脚本中定义项目字典、发版脚本和预发布脚本。 编写Pipeline脚本 Pipeline脚本是Jenkins Pipeline的核心,用于定义自动化构建和发布的流程。以下是一个简单的Pipeline脚本示例: 在上述脚本中,定义了四个阶段:Checkout、Build、Push package和Deploy/Rollback。每个阶段都可以根据实际需求进行配置和调整。 通过Jenkins Pipeline自动化构建发布Java项目,可以显著提升开发效率和项目质量。借助Pipeline,我们能够轻松实现自动化构建、测试和部署,从而提高项目的整体质量和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值