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 相关文章推荐
JQuery 学习技巧总结
May 21 Javascript
网易JS面试题与Javascript词法作用域说明
Nov 09 Javascript
ajax上传时参数提交不更新等相关问题
Dec 11 Javascript
JavaScript中数据结构与算法(二):队列
Jun 19 Javascript
第一次接触神奇的Bootstrap菜单和导航
Aug 01 Javascript
微信开发 微信授权详解
Oct 21 Javascript
jQuery插件HighCharts实现的2D对数饼图效果示例【附demo源码下载】
Mar 09 Javascript
AngularJS自定义指令之复制指令实现方法
May 18 Javascript
Vue 自定义动态组件实例详解
Mar 28 Javascript
解决vuecli3.0热更新失效的问题
Sep 19 Javascript
jQuery实现ajax的嵌套请求案例分析
Feb 16 jQuery
Vue自定义表单内容检查rules实例
Oct 30 Javascript
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加密函数 Javascript/Js 解密函数
2013/09/23 PHP
PHP获取文件行数的方法
2015/06/10 PHP
PHP数组去重比较快的实现方式
2016/01/19 PHP
php5.3后静态绑定用法详解
2016/11/11 PHP
PHP编辑器PhpStrom运行缓慢问题
2017/02/21 PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
2017/12/21 PHP
Swoole源码中如何查询Websocket的连接问题详解
2020/08/30 PHP
JQuery的自定义事件代码,触发,绑定简单实例
2013/08/01 Javascript
js中通过split函数分割字符串成数组小例子
2013/09/21 Javascript
js防止表单重复提交的两种方法
2013/09/30 Javascript
node.js中的fs.rename方法使用说明
2014/12/16 Javascript
深入理解JavaScript系列(26):设计模式之构造函数模式详解
2015/03/03 Javascript
javascript判断数组内是否重复的方法
2015/04/21 Javascript
JavaScript如何禁止Backspace键
2015/12/02 Javascript
jquery插件方式实现table查询功能的简单实例
2016/06/06 Javascript
用javascript获取任意颜色的更亮或更暗颜色值示例代码
2017/07/21 Javascript
解决vue-cli单页面手机应用input点击手机端虚拟键盘弹出盖住input问题
2018/08/25 Javascript
JavaScript实现栈结构Stack过程详解
2020/03/07 Javascript
vue实现简单跑马灯效果
2020/05/25 Javascript
python采集博客中上传的QQ截图文件
2014/07/18 Python
用Python写一个无界面的2048小游戏
2016/05/24 Python
python中requests小技巧
2017/05/10 Python
Python进阶_关于命名空间与作用域(详解)
2017/05/29 Python
python中实现指定时间调用函数示例代码
2017/09/08 Python
简单了解Python中的几种函数
2017/11/03 Python
如何通过python画loss曲线的方法
2019/06/26 Python
Python新手学习函数默认参数设置
2020/06/03 Python
详解pycharm配置python解释器的问题
2020/10/15 Python
开业庆典邀请函
2014/01/08 职场文书
优秀党员主要事迹
2014/01/19 职场文书
计划生育证明格式范本
2014/09/12 职场文书
营销计划书范文
2015/01/17 职场文书
总经理助理岗位职责范本
2015/03/31 职场文书
经营场所使用证明
2015/06/19 职场文书
新闻稿格式范文
2015/07/18 职场文书
PostgreSQL数据库去除重复数据和运算符的基本查询操作
2022/04/12 PostgreSQL