AngularJS双向绑定和依赖反转实例详解


Posted in Javascript onApril 15, 2017

AngularJS双向绑定和依赖反转

一、双向绑定:

UI<-->数据

数据->UI (数据改变UI跟着变)

UI->数据 (UI改变数据跟着变)

数据改变->UI改变原理:

监听数据是否改变,如果改变更新UI数据。

UI改变->数据改变原理:

<html>

<body>

<input type="text" name="name" value="" id="text1" ng_model="a">

<script>

window.onload = function(){

var a='';

var oTxt = document.getElementById('text1');

oTxt.oninput = function(){ //UI值改变数据改变

a = oTxt.value;

}

}

</script>

</body>

</html>

 二、依赖注入:

函数可以自己决定需要什么数据或者多小个数据,而不是外面传什么就用什么。

2.1、调用者决定给多小个参数

<script>

function show(a,b,c){

console.log(arguments.length);

}

show(1); //调用者只给1个参数,调用者决定参数的给予。

</script>

2.2、依赖注入(依赖反转):函数要求要多小参数,就给多小。 就像show(a,b,c)要求3个参数

<script>

function show(a,b,c){

console.log(arguments.length);

}

var scope = {a:12,b:15,c:99,qq:55,i:99};  //假设是函数需要的参数

//实现依赖反转二个步骤
//1、知道show要什么参数

var str = show.toString();

str=str.split('{')[0].match(/\(.*)\/)[0].replace(/\S+/g,'');

str=str.substring(1,str.length-1);

var arr=str.split(',');

//2、给它相应值

var args=[];

for(var i=0;i<arr.length;i++){

args[i]=scope[arr[i]];

}

console.log(args);

show.apply(null,args);

</script>

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
一个js封装的不错的选项卡效果代码
Feb 15 Javascript
javascript 原型继承介绍
Aug 30 Javascript
javascript实现根据时间段显示问候语的方法
Jun 18 Javascript
Node.js 实现简单小说爬虫实例
Nov 18 Javascript
使用jquery的jsonp如何发起跨域请求及其原理详解
Aug 17 jQuery
vue组件初学_弹射小球(实例讲解)
Sep 06 Javascript
详解angularJS+Ionic移动端图片上传的解决办法
Sep 13 Javascript
vue实现未登录跳转到登录页面的方法
Jul 17 Javascript
在vue中给列表中的奇数行添加class的实现方法
Sep 05 Javascript
微信小程序按顺序同步执行的两种方式
Dec 20 Javascript
JS实现基本的网页计算器功能示例
Jan 16 Javascript
jquery实现简易验证插件封装
Sep 13 jQuery
JavaScript简单计算人的年龄示例
Apr 15 #Javascript
微信小程序 ES6Promise.all批量上传文件实现代码
Apr 14 #Javascript
微信小程序动态的加载数据实例代码
Apr 14 #Javascript
JAVA中截取字符串substring用法详解
Apr 14 #Javascript
jQuery插件FusionCharts绘制2D双折线图效果示例【附demo源码】
Apr 14 #jQuery
JavaScript实现的选择排序算法实例分析
Apr 14 #Javascript
简单实现JS上传图片预览功能
Apr 14 #Javascript
You might like
十天学会php之第十天
2006/10/09 PHP
[原创]php逐行读取txt文件写入数组的方法
2015/07/02 PHP
PHP中加速、缓存扩展的区别和作用详解(eAccelerator、memcached、xcache、APC )
2016/07/09 PHP
PHP版单点登陆实现方案的实例
2016/11/17 PHP
php file_get_contents取文件中数组元素的方法
2017/04/01 PHP
Javascript - HTML的request类
2006/07/15 Javascript
javascript新手语法小结
2008/06/15 Javascript
JavaScript constructor和instanceof,JSOO中的一对欢喜冤家
2009/05/25 Javascript
JavaScript 动态生成方法的例子
2009/07/22 Javascript
javascript自定义函数参数传递为字符串格式
2014/07/29 Javascript
AngularJS中的按需加载ocLazyLoad示例
2017/01/11 Javascript
提高Web性能的前端优化技巧总结
2017/02/27 Javascript
JS/jquery实现一个网页内同时调用多个倒计时的方法
2017/04/27 jQuery
win系统下nodejs环境安装配置
2017/05/04 NodeJs
JavaScript复制内容到剪贴板的两种常用方法
2018/02/27 Javascript
微信小程序实现两边小中间大的轮播效果的示例代码
2018/12/07 Javascript
Vue-cli3.x + axios 跨域方案踩坑指北
2019/07/04 Javascript
小程序Scroll-view上拉滚动刷新数据
2020/06/21 Javascript
[01:17:47]TNC vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python获取beautifulphoto随机某图片代码实例
2013/12/18 Python
python求pi的方法
2014/10/08 Python
python从网络读取图片并直接进行处理的方法
2015/05/22 Python
pandas数据集的端到端处理
2019/02/18 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
2019/04/15 Python
Python操作Excel工作簿的示例代码(\*.xlsx)
2020/03/23 Python
Python selenium如何打包静态网页并下载
2020/08/12 Python
Python全局变量与global关键字常见错误解决方案
2020/10/05 Python
在印度上传处方,在线订购药品:Medlife
2019/03/28 全球购物
Wallis官网:英国女装零售商
2020/01/21 全球购物
js正则匹配markdown里的图片标签的实现
2021/03/24 Javascript
公安机关党的群众路线教育实践活动剖析材料
2014/10/10 职场文书
岗位竞聘报告范文
2014/11/06 职场文书
2016大学迎新晚会开场白
2015/11/24 职场文书
《唯一的听众》教学反思
2016/02/18 职场文书
话题作文之自信作文
2019/11/15 职场文书
Redis安装启动及常见数据类型
2021/04/14 Redis