AngularJS解决ng界面长表达式(ui-set)的方法分析


Posted in Javascript onNovember 07, 2016

本文实例讲述了AngularJS解决ng界面长表达式(ui-set)的方法。分享给大家供大家参考,具体如下:

本文来自网友sun shine的问题,问题如下:

    您好, 我想求教一个问题.
    在$scope中我的对象名字写的特别深, 在 html中我又多次用到了同一个对象, 对不对在 html中让它绑定到一个临时变量呢?
    比如:
    $scope.this.is.a.very.deep.obj = {
    'name': 'xxx',
    'state': 'active'};

    在 模板中,

    {{this.is.a.very.deep.obj.name}}
    {{this.is.a.very.deep.obj.state}}
    类似于这种, 我能否把 this.is.a.very.deep.obj 预先赋给一个临时的变量, 然后在 两个 span中只需 o.name, o.state 就行了呢? 我觉得这样解析起来是不是快一点.

    但是我试了, 并没有成功. 求指点.
    先谢了.

在这里首先需要说明的是ng界面的所有引用都需要在$scope这个viewmodel(ui和view的胶水层),所以如果我们希望能够把表达式变得更可读,更友好,那么我们就必须在$scope上创建这个变量。

再则对于ng其使用使用的一堆的$watch,实现脏检查,如果你理解这些了,那么我们就可以很容易的实现一套如spring的

<c:set var="xxx" expression="xxx" />

的tag.

对于实现这类tag,我们最好的方式则是利用ng的directive来实现,代码如下:

angular.module("greengerong.ui.tag", [])
 .directive("uiSet", [
  function() {
   return {
    restrict: "EA",
    link: function(scope, elm, iAttrs) {
     scope.$watch(iAttrs.expression, function(val) {
      scope[iAttrs.
       var] = val;
      var apply = !scope.$$phase ? scope.$apply : angular.noop;
      apply();
     });
    }
   };
  }
]);

希望本文所述对大家AngularJS程序设计有所帮助。

Javascript 相关文章推荐
JavaScript加密解密7种方法总结分析
Oct 07 Javascript
javascript得到当前页的来路即前一页地址的方法
Feb 18 Javascript
12行javascript代码绘制一个八卦图
Apr 02 Javascript
jQuery实现的导航动画效果(附demo源码)
Apr 01 Javascript
node.js cookie-parser之parser.js
Jun 06 Javascript
JS for循环中i++ 和 ++i的区别介绍
Jul 20 Javascript
jquery对所有input type=text的控件赋值实现方法
Dec 02 Javascript
微信小程序 122100版本更新问题解决方案
Dec 22 Javascript
vue快捷键与基础指令详解
Jun 01 Javascript
vue自定义一个v-model的实现代码
Jun 21 Javascript
jquery3和layui冲突导致使用layui.layer.full弹出全屏iframe窗口时高度152px问题
May 12 jQuery
在Vue mounted方法中使用data变量详解
Nov 05 Javascript
基于KO+BootStrap+MVC实现的分页控件代码分享
Nov 07 #Javascript
浅谈EasyUi ComBotree树修改 父节点选择的问题
Nov 07 #Javascript
EasyUI 中combotree 默认不能选择父节点的实现方法
Nov 07 #Javascript
AngularJs基于角色的前端访问控制的实现
Nov 07 #Javascript
easyui取消表单实时验证,提交时统一验证的简单实例
Nov 07 #Javascript
AngularJS动态绑定HTML的方法分析
Nov 07 #Javascript
基于JS分页控件实现简单美观仿淘宝分页按钮效果
Nov 07 #Javascript
You might like
thinkphp判断访客为手机端或PC端的方法
2014/11/24 PHP
PHP回溯法解决0-1背包问题实例分析
2015/03/23 PHP
基于CI框架的微信网页授权库示例
2016/11/25 PHP
jQuery 对象中的类数组操作
2009/04/27 Javascript
强大的jquery插件jqeuryUI做网页对话框效果!简单
2011/04/14 Javascript
jquery获取table中的某行全部td的内容方法
2013/03/08 Javascript
纯JavaScript实现HTML5 Canvas六种特效滤镜示例
2013/06/28 Javascript
javascript实现实时输出当前的时间
2015/04/27 Javascript
js实现不提交表单获取单选按钮值的方法
2015/08/21 Javascript
JavaScript html5 canvas画布中删除一个块区域的方法
2016/01/26 Javascript
AngularJS入门教程之AngularJS 模板
2016/08/18 Javascript
js模拟微博发布消息
2017/02/23 Javascript
最常用的jQuery表单验证(简单)
2017/05/23 jQuery
jQuery的时间datetime控件在AngularJs中的使用实例(分享)
2017/08/17 jQuery
JS动态添加元素及绑定事件造成程序重复执行解决
2017/12/07 Javascript
MUI 实现侧滑菜单及其主体部分上下滑动的方法
2018/01/25 Javascript
javascript获取图片的top N主色值方法详解
2018/01/26 Javascript
使用JavaScript中的lodash编写双色球效果
2018/06/24 Javascript
Nodejs调用Dll模块的方法
2018/09/17 NodeJs
layui 实现表格某一列显示图标
2019/09/19 Javascript
小程序接入腾讯位置服务的详细流程
2020/03/03 Javascript
[01:31](回顾)杀出重围,决战TI之巅
2014/07/01 DOTA
[01:22]DOTA2神秘商店携大量周边降临完美大师赛
2017/11/07 DOTA
Django中几种重定向方法
2015/04/28 Python
Python实现的字典排序操作示例【按键名key与键值value排序】
2018/12/21 Python
matplotlib 画动态图以及plt.ion()和plt.ioff()的使用详解
2021/01/05 Python
CSS3新属性transition-property transform box-shadow实例学习
2013/06/06 HTML / CSS
Banggood官网:面向全球客户的综合商城
2017/04/19 全球购物
乌克兰香水和化妆品网站:Notino.ua
2018/03/26 全球购物
消防器材管理制度
2014/01/28 职场文书
会计电算化学生个人的自我评价
2014/02/08 职场文书
三月学雷锋月活动总结
2014/04/28 职场文书
高中学生会竞选演讲稿
2014/08/25 职场文书
六查六看心得体会
2014/10/14 职场文书
公司行政管理制度范本
2015/08/05 职场文书
win sever 2022如何占用操作主机角色
2022/06/25 Servers