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 相关文章推荐
javascript 点击整页变灰的效果(可做退出效果)。
Jan 09 Javascript
用JavaScript实现UrlEncode和UrlDecode的脚本代码
Jul 23 Javascript
仿校内登陆框,精美,给那些很厉害但是没有设计天才的程序员
Nov 24 Javascript
javascript采用数组实现tab菜单切换效果
Dec 12 Javascript
javascript jq 弹出层实例
Aug 25 Javascript
js几秒以后倒计时跳转示例
Dec 26 Javascript
JS父页面与子页面相互传值方法
Mar 05 Javascript
jquery.Callbacks的实现详解
Nov 30 Javascript
PHP实现记录代码运行时间封装类实例教程
May 08 Javascript
详解nuxt sass全局变量(公共scss解决方案)
Jun 27 Javascript
jQuery实现简单评论区功能
Oct 26 jQuery
JavaScript 去重和重复次数统计
Mar 31 Javascript
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
ThinkPHP中URL路径访问与模块控制器之间的关系
2014/08/23 PHP
ThinkPHP模版引擎之变量输出详解
2014/12/05 PHP
js的event详解。
2006/09/06 Javascript
跨域表单提交状态的变相判断代码
2009/11/12 Javascript
用JS判别浏览器种类以及IE版本的几种方法小结
2011/08/02 Javascript
浅谈javascript的原型继承
2012/07/25 Javascript
js内存泄露的几种情况详细探讨
2013/05/31 Javascript
实例讲解JavaScript中的this指向错误解决方法
2016/06/13 Javascript
JS获取checkbox的个数简单实例
2016/08/19 Javascript
jQuery动态添加与删除tr行实例代码
2016/10/18 Javascript
JS中用三种方式实现导航菜单中的二级下拉菜单
2016/10/31 Javascript
angularjs下拉框空白的解决办法
2017/06/20 Javascript
详解利用jsx写vue组件的方法示例
2017/07/17 Javascript
详解Nodejs 通过 fs.createWriteStream 保存文件
2017/10/10 NodeJs
利用JS判断客户端类型你应该知道的四种方法
2017/12/22 Javascript
JS对象属性的检测与获取操作实例分析
2020/03/17 Javascript
有关wxpython pyqt内存占用问题分析
2014/06/09 Python
Python实现FTP上传文件或文件夹实例(递归)
2017/01/16 Python
深入理解Python对Json的解析
2017/02/14 Python
python3.6 实现AES加密的示例(pyCryptodome)
2018/01/10 Python
Python设计模式之桥接模式原理与用法实例分析
2019/01/10 Python
Python3爬虫里关于识别微博宫格验证码的知识点详解
2020/07/30 Python
python关于倒排列的知识点总结
2020/10/13 Python
利用CSS3实现开门效果实例源码
2016/08/22 HTML / CSS
皇马官方商城:Real Madrid Store
2016/09/02 全球购物
MyFrenchPharma中文网:最大的法国药妆平台
2016/10/07 全球购物
欧舒丹英国官网:购买欧舒丹护手霜等明星产品
2017/01/17 全球购物
杰夫·班克斯男士服装网上商店:Jeff Banks
2019/10/24 全球购物
师范教师毕业鉴定
2014/01/13 职场文书
如何写好自荐信
2014/04/07 职场文书
办理信用卡工作证明
2014/09/30 职场文书
党支部书记岗位职责
2015/02/15 职场文书
微信早安问候语
2015/11/10 职场文书
Python Django框架介绍之模板标签及模板的继承
2021/05/27 Python
微信小程序中wxs文件的一些妙用分享
2022/02/18 Javascript
如何利用golang运用mysql数据库
2022/03/13 Golang