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 相关文章推荐
dojo 之基础篇(三)之向服务器发送数据
Mar 24 Javascript
JavaScript Event事件学习第一章 Event介绍
Feb 07 Javascript
jquery中通过父级查找进行定位示例
Jun 28 Javascript
js左侧三级菜单导航实例代码
Sep 13 Javascript
css与javascript跨浏览器兼容性总结
Sep 15 Javascript
javascript常用的方法分享
Jul 01 Javascript
JavaScript中的Repaint和Reflow用法详解
Jul 27 Javascript
GitHub上一些实用的JavaScript的文件压缩解压缩库推荐
Mar 13 Javascript
jQuery中on绑定事件后引发的事件冒泡问题如何解决
May 25 Javascript
jQuery.datatables.js插件用法及api实例详解
Oct 28 Javascript
浅谈js闭包理解
Mar 28 Javascript
解决vue cli4升级sass-loader(v8)后报错问题
Jul 30 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
PHP脚本数据库功能详解(中)
2006/10/09 PHP
求PHP数组最大值,最小值的代码
2011/10/31 PHP
一款简单实用的php操作mysql数据库类
2014/12/08 PHP
Laravel6.18.19如何优雅的切换发件账户
2020/06/14 PHP
经典海量jQuery插件 大家可以收藏一下
2010/02/07 Javascript
jquery对象和DOM对象的区别介绍
2013/08/09 Javascript
AngularJS入门知识之MVW类框架的编程思想探讨
2014/12/08 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 简史
2015/01/09 Javascript
浅谈JavaScript Math和Number对象
2015/01/26 Javascript
jquery实现标签上移、下移、置顶
2015/04/26 Javascript
跟我学习javascript的异步脚本加载
2015/11/20 Javascript
jQuery代码实现表格中点击相应行变色功能
2016/05/09 Javascript
jQuery下拉框的简单应用
2016/06/24 Javascript
Jquery与Bootstrap实现后台管理页面增删改查功能示例
2017/01/22 Javascript
基于jQuery代码实现圆形菜单展开收缩效果
2017/02/13 Javascript
Vue实现PopupWindow组件详解
2018/04/28 Javascript
angular实现input输入监听的示例
2018/08/31 Javascript
详解微信小程序-扫一扫 wx.scanCode() 扫码大变身
2019/04/30 Javascript
JS实现普通轮播图特效
2020/01/01 Javascript
jQuery实现小火箭返回顶部特效
2020/02/03 jQuery
WEB前端性能优化的7大手段详解
2020/02/04 Javascript
python列表与元组详解实例
2013/11/01 Python
TensorFlow深度学习之卷积神经网络CNN
2018/03/09 Python
利用rest framework搭建Django API过程解析
2019/08/31 Python
softmax及python实现过程解析
2019/09/30 Python
英国最大的在线奢侈手表零售商:Jura Watches
2018/01/29 全球购物
Agoda台湾官网:国内外订房2折起
2018/03/20 全球购物
中国一家专注拼团的社交购物网站:拼多多
2018/06/13 全球购物
中间件的定义
2016/08/09 面试题
职称自我鉴定
2013/10/15 职场文书
竞职演讲稿范文
2014/01/11 职场文书
人力资源部经理岗位职责规定
2014/02/23 职场文书
党风廉政建设调研报告
2015/01/01 职场文书
工作报告范文
2019/06/20 职场文书
阿里云Nginx配置https实现域名访问项目(图文教程)
2021/03/31 Servers
javascript Number 与 Math对象的介绍
2021/11/17 Javascript