jquery操作angularjs对象


Posted in Javascript onJune 26, 2015

jquery是一个非常强大的js框架,angularjs是一个非常牛的前端mvc框架。虽然用其中的任何一个框架在项目中够用了,但是有时候这两个框架需要混合着用,虽然不推荐。但有时候混合用时,却非常方便,不要考虑那么多,只要能实现功能,何乐而不为?

最近做的一个产品,前端用angularjs,但表格框架用的却是jquery.datatables.js,当然其中少不了碰到jquery与angularjs交互问题。由于公司保密,我就不用真实项目演示了,写个小demo吧,当然真实的项目要复杂得多。

<!DOCTYPE html>
<html ng-app="ngDemo">
<head>
  <title></title>
  <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
  <script src="//www.w3cschool.cc/try/angularjs/1.2.5/angular.min.js"></script>
  <script type="text/javascript">
  $(function() {
    $('#btn').on('click',function(e) {
      $('#dv2').text(Number($('#dv2').text())+1);//jquery+angular实现
      $('#dv3').text(Number($('#dv3').text())+1);//纯jquery实现
    });
  });
  
  var app=angular.module('ngDemo',[]);
  app.controller('ngCtrl',['$scope',function ($scope) {
    $scope.test1=0;
    $scope.test2=0;
  }]);
  </script>
</head>
<body ng-controller="ngCtrl">
test1:<div id="dv1">{{test1}}</div><!--纯angular实现-->
test2:<div id="dv2" ng-bind="test2" ng-model="test2"></div>
test3:<div id="dv3">0</div>
<button id="btn" ng-click="test1=test1+1">click me +1</button>
</body>
</html>

代码

jquery操作angularjs对象

效果

jquery操作angularjs对象

点了两次,这三个值都加到2了,貌似没什么问题。

真没问题吗?请看

jquery操作angularjs对象

视图上是2,model上还是0,没有实现同步,怎么办?

那么问题又来了,jquery和angularjs哪家强呢?

改下代码

$('#btn').on('click',function(e) {
      var scope=angular.element('#dv2').scope();//jquery+angular实现
      scope.test2=scope.test2+1;//直接修改test2的值
      console.log(scope.test2);
      $('#dv3').text(Number($('#dv3').text())+1);//纯jquery实现
    });

再看看

jquery操作angularjs对象

点了两次,中间那个变成了1,其它两个是2。

jquery操作angularjs对象

点了3次,中间那个变成了2,但是scope.test2的值却是什么,它怎么总是显示慢一拍?

再改改

$('#btn').on('click',function(e) {
      var scope=angular.element('#dv2').scope();//jquery+angular实现
      scope.test2=scope.test2+1;//直接修改test2的值
      scope.$apply();//绑定到视图
      console.log(scope.test2);
      $('#dv3').text(Number($('#dv3').text())+1);//纯jquery实现
    });

再看看

jquery操作angularjs对象

这下这三个都同步了。中药好,西药快,中本结合!jquery简单,angularjs方便,两者结合...大功告成。

注意:scope对象一定要调用$apply(),否则会出现视图与model不同步。

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
js在IE与firefox的差异集锦
Nov 11 Javascript
Javascript实现飞动广告效果的方法
May 25 Javascript
JavaScript自学笔记(必看篇)
Jun 23 Javascript
图片懒加载插件实例分享(含解析)
Jan 09 Javascript
javascript表达式和运算符详解
Feb 07 Javascript
详解windows下vue-cli及webpack 构建网站(三)使用组件
Jun 17 Javascript
bootstrap基本配置_动力节点Java学院整理
Jul 14 Javascript
jQuery Easyui Treegrid实现显示checkbox功能
Aug 08 jQuery
JS闭包的几种常见形式实例详解
Sep 16 Javascript
vue transition 在子组件中失效的解决
Nov 12 Javascript
JS document内容及样式操作完整示例
Jan 14 Javascript
vue实现下载文件流完整前后端代码
Nov 17 Vue.js
jQuery检查事件是否触发的方法
Jun 26 #Javascript
js限制input标签中只能输入中文
Jun 26 #Javascript
jQuery实现按钮只点击一次后就取消点击事件绑定的方法
Jun 26 #Javascript
浅谈JavaScript异常处理语句
Jun 26 #Javascript
javascript实现一个数值加法函数
Jun 26 #Javascript
javascript排序函数实现数字排序
Jun 26 #Javascript
javascript实现给定半径求出圆的面积
Jun 26 #Javascript
You might like
PHP的FTP学习(二)
2006/10/09 PHP
php实现mysql数据库操作类分享
2014/02/14 PHP
ThinkPHP自动转义存储富文本编辑器内容导致读取出错的解决方法
2014/08/08 PHP
php过滤所有的空白字符(空格、全角空格、换行等)
2015/10/27 PHP
PHP7新功能总结
2019/04/14 PHP
js 加载时自动调整图片大小
2008/05/28 Javascript
给jQuery方法添加回调函数一款插件的应用
2013/01/21 Javascript
推荐25个超炫的jQuery网格插件
2014/11/28 Javascript
JavaScript学习总结之JS、AJAX应用
2016/01/29 Javascript
JavaScript入门教程之引用类型
2016/05/04 Javascript
利用jQuery实现CheckBox全选/全不选/反选的简单代码
2016/05/31 Javascript
Vue.js路由组件vue-router使用方法详解
2016/12/02 Javascript
清除浏览器缓存的几种方法总结(必看)
2016/12/09 Javascript
jQuery中的siblings()是什么意思(推荐)
2016/12/29 Javascript
原生JS实现《别踩白块》游戏(兼容IE)
2017/02/20 Javascript
详解VueJs异步动态加载块
2017/03/09 Javascript
Vue.js实现在下拉列表区域外点击即可关闭下拉列表的功能(自定义下拉列表)
2017/05/30 Javascript
jquery更改元素属性attr()方法操作示例
2020/05/22 jQuery
angular共享依赖的解决方案分享
2020/10/15 Javascript
利用 Chrome Dev Tools 进行页面性能分析的步骤说明(前端性能优化)
2021/02/24 Javascript
[05:08]DOTA2-DPC中国联赛3月6日Recap集锦
2021/03/11 DOTA
Python线程中对join方法的运用的教程
2015/04/09 Python
Python实现批量读取word中表格信息的方法
2015/07/30 Python
对numpy中的数组条件筛选功能详解
2018/07/02 Python
Python生成器generator用法示例
2018/08/10 Python
利用anaconda作为python的依赖库管理方法
2019/08/13 Python
建筑班组长岗位职责
2014/01/02 职场文书
家长给孩子的表扬信
2014/01/17 职场文书
汽车装潢店创业计划书范文
2014/02/05 职场文书
预备党员2014全国两会学习心得体会
2014/03/10 职场文书
项目建议书格式
2014/03/12 职场文书
销售人才自我评价范文
2014/09/27 职场文书
综合素质评价思想道德自我评价
2015/03/09 职场文书
银行客户经理岗位职责
2015/04/09 职场文书
小学教师教育随笔
2015/08/14 职场文书
Python可视化神器pyecharts绘制地理图表
2022/07/07 Python