angular.extend、angular.$watch、angular.bootstrap
1、angular.extend:依次将第二个参数及后续的参数的第一层属性(不管是简单属性还是对象)拷贝给第一个参数的第一层属性,即如果是对象,则是引用的是同一个对象,并返回第一个参数对象。
直接上代码来的简单明了:
<script type="text/javascript" src="js/angular.min.js" ></script>
<script type="text/javascript">
var json= {
name:'jsck',
age:20
}
var json1 = {
sex:'men'
}
var c = angular.extend(json,json1);
console.log(c)
</script>
返回的结果:
Object {name: "jsck", age: 20, sex: "men"}
angular.extend方法就介绍到这里。
2.angular.$watch,当你数据中的某一部分发生了变化时,$watch函数就可以发出通知,监控那部分数据。
下面来看下实例吧
<!DOCTYPE html>
<html ng-app="mk">
<head>
<meta charset="utf-8" />
<title></title>
<script type="text/javascript" src="js/angular.min.js"></script>
<script type="text/javascript">
var app = angular.module('mk', []);
app.controller('ctrl', function($scope) {
$scope.init = {
name: "jack",
age: 20
};
$scope.$watch('init.age', function(newVal, oldVal) {
console.log("new--" + newVal);
console.log("old--" + oldVal);
}, true)
})
</script>
</head>
<body ng-controller="ctrl">
user:<input type="text" ng-model="init.name"/> age:
<input type="number" ng-model="init.age" />
</body>
</html>
在网页中展现的效果:

看一下监听到的内容:

3、angular.bootstrap,此方法用于手动加载angularjs模块。
angular.bootstrap(element, [modules], [config]);
| 参数名称 | 参数类型 | 描述 |
|---|---|---|
| element | DOMElement | DOM元素 |
| modules | Array | 要加载的模板 |
| config | Object | 配置选项的对象。 |
说多无益,直接看代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script type="text/javascript" src="js/angular.min.js"></script>
<script type="text/javascript">
var app1 = angular.module('mk1', []);
var app2 = angular.module('mk2', []);
app1.controller("ctrl1", function($scope) {
$scope.a = 12;
})
app2.controller("ctrl2", function($scope) {
$scope.b = 20;
})
var aDiv = document.getElementsByTagName('div');
angular.element(document).on('click', function() {
angular.bootstrap(aDiv[0], ['mk1']); //手动开启angular应用模式,第一个参数是定义哪个模块
angular.bootstrap(aDiv[1], ['mk2']);
})
</script>
</head>
<body>
<div ng-controller="ctrl1">
{{a}}
</div>
<div ng-controller="ctrl2">
{{b}}
</div>
</body>
</html>
在网页中刚出来的效果是这样的

然后手动点击{{a}}、{{b}}
最后展示效果
angular.extend、angular.$watch、angular.bootstrap的更多相关文章
- AngularJs angular.forEach、angular.extend
angular.forEach 调用迭代器函数取每一项目标的集合,它可以是一个对象或数组.迭代器函数与迭代器(value.key)一起调用,其中值是一个对象属性或数组元素的值,而数组元素是对象属性的关 ...
- Angular - - angular.forEach、angular.extend
angular.forEach 调用迭代器函数取每一项目标的集合,它可以是一个对象或数组.迭代器函数与迭代器(value.key)一起调用,其中值是一个对象属性或数组元素的值,而数组元素是对象属性的关 ...
- angular.js 的angular.copy 、 angular.extend 、 angular.merge
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Angular (SPA) WebPack模块化打包、按需加载解决方案完整实现
文艺小说-?2F,言情小说-?3F,武侠小说-?9F long long ago time-1-1:A 使用工具,long long A ago time-1-2:A 使用分类工具,long long ...
- MVC、MVP、MVVM、Angular.js、Knockout.js、Backbone.js、React.js、Ember.js、Avalon.js、Vue.js 概念摘录
注:文章内容都是摘录性文字,自己阅读的一些笔记,方便日后查看. MVC MVC(Model-View-Controller),M 是指业务模型,V 是指用户界面,C 则是控制器,使用 MVC 的目的是 ...
- angular 配置开发环境、测试环境、生产环境
1. 配置开发环境.测试环境.生产环境 (1). environment.ts - 开发环境: 用于程序开发 (创建项目时自动生成) export const environment = { prod ...
- Angular:路由的配置、传参以及跳转
①路由的配置 1.首先用脚手架新建一个项目,在路由配置时选择yes 2.用ng g component创建组件 3.在src/app/app-routing.module.ts中配置路由 import ...
- angular 引入ocLazyLoad实现js、controller懒加载
项目之前是直接在index.html中引用了controller.js,其中包含了所有的controller.现引入ocLazyLoad实现按需加载,到指定页面再加载指定js.controller 1 ...
- angular 1.2.29版本下 动态添加多个表单、 校验全部、 提交 、ng-form方案
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
随机推荐
- 探索Gallery和ImageSwitcher布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layo ...
- 【对抗蠕虫】如何保护网页里的按钮,不被 XSS 自动点击
前言 XSS 自动点按钮有什么危害? 在社交网络里,大多操作都是通过点击按钮发起的.例如发表留言,假如留言系统有 BUG,那么 XSS 就能自动点击发送按钮,发布带有恶意代码的留言.好友看了中招后,又 ...
- Redis 小白指南(二)- 基础命令和五大类型:字符串、散列、列表、集合和有序集合
Redis 小白指南(二)- 基础命令和五大类型:字符串.散列.列表.集合和有序集合 引言 目录 基础命令 字符串类型 散列类型 列表类型 集合类型 有序集合类型 基础命令 1.获得符合规则的键名列表 ...
- python基础 - 01
python 变量名 在python中的变量命名,与其他语言大体相似,变量的命名规则如下: 变量名是数字.字母.下划线的任意组合 变量名的第一个字符不能是数字 系统的关键字不能设置为变量名 Ti ...
- iOS11和机器学习CoreML库
随着iOS11的发布,苹果公司也正式加入了机器学习的战场.在新的iOS11中内置了CoreML,虽然还是Beta版本,但是功能已经非常强大了. 在这个CoreML库里面,已经集成了一些训练好的模型,可 ...
- C++函数调用的反汇编过程及Thunk应用
x86汇编基础知识 1. 汇编常用寄存器 esp,(Extended stack pointer)栈顶指针.因为x86的栈内存是向下扩展的,因此当push入栈时,esp–.pop出栈时,esp++.e ...
- Coursera 机器学习笔记(三)
主要为第四周.第五周课程内容:神经网络 神经网络模型引入 之前学习的线性回归还是逻辑回归都有个相同缺点就是:特征太多会导致计算量太大.如100个变量,来构建一个非线性模型.即使只采用两两特征组合,都会 ...
- 织梦dedecms后台发布文章提示“标题不能为空”
问题症状:V5.7登录后台后,发布英文标题没问题,发布中文会提示“标题不能为空”. 问题根源:htmlspecialchars在php5.4默认为utf8编码,gbk编码字符串经 htmlspecia ...
- Android上解析Json格式数据
package com.practice.json; import org.json.JSONArray; import org.json.JSONException; import org.json ...
- C#基础 Dictionary存储自定义对象作为键值
程序每次向容器Dictionary中插入数据时,都会判断Key值是否已经存在,如果不存在,则插入.否则抛出异常.那么Dictionary又是如何判断Key值是否存在的呢? 请看下面的代码: cla ...