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 相关文章推荐
关于使用runtimeStyle属性问题讨论文章
Mar 08 Javascript
JQuery扩展插件Validate 2通过参数设置验证规则
Sep 05 Javascript
javascript管中窥豹 形参与实参浅析
Dec 17 Javascript
JQuery实现table行折叠效果以JSON做数据源
May 26 Javascript
jquery实现隐藏在左侧的弹性弹出菜单效果
Sep 18 Javascript
javascript点击按钮实现隐藏显示切换效果
Feb 03 Javascript
JavaScript入门系列之知识点总结
Mar 24 Javascript
AngularJS封装$http.post()实例详解
May 06 Javascript
使用Angular CLI生成路由的方法
Mar 24 Javascript
vue组件表单数据回显验证及提交的实例代码
Aug 30 Javascript
使用layui 的layedit定义自己的toolbar方法
Sep 18 Javascript
解决vue watch数据的方法被调用了两次的问题
Nov 07 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
dedecms 制作模板中使用的全局标记图文教程
2007/03/11 PHP
不使用php api函数实现数组的交换排序示例
2014/04/13 PHP
PHP正则匹配操作简单示例【preg_match_all应用】
2017/07/10 PHP
CakePHP框架Model函数定义方法示例
2017/08/04 PHP
解析arp病毒背后利用的Javascript技术附解密方法
2007/08/06 Javascript
IE6-IE9不支持table.innerHTML的解决方法分享
2012/09/14 Javascript
如何使用JS获取IE上传文件路径(IE7,8)
2013/07/08 Javascript
jQuery()方法的第二个参数详解
2015/04/29 Javascript
基于JavaScript的操作系统你听说过吗?
2016/01/28 Javascript
javascript轻量级库createjs使用Easel实现拖拽效果
2016/02/19 Javascript
页面get请求 中文参数方法乱码问题的快速解决方法
2016/05/31 Javascript
功能强大的Bootstrap效果展示(二)
2016/08/03 Javascript
Bootstrap导航中表单简单实现代码
2017/03/06 Javascript
Javacript中自定义的map.js  的方法
2017/11/26 Javascript
Vue.directive 自定义指令的问题小结
2018/03/04 Javascript
深入Vue-Router路由嵌套理解
2018/08/13 Javascript
vue路由事件beforeRouteLeave及组件内定时器的清除方法
2018/09/29 Javascript
利用React Router4实现的服务端直出渲染(SSR)
2019/01/07 Javascript
vue源码nextTick使用及原理解析
2019/08/13 Javascript
Python多线程实例教程
2014/09/06 Python
python实现windows下文件备份脚本
2018/05/27 Python
Django框架中间件(Middleware)用法实例分析
2019/05/24 Python
python 用opencv实现霍夫线变换
2020/11/27 Python
如何用python写个模板引擎
2021/01/14 Python
超30万乐谱下载:Musicnotes.com
2016/09/24 全球购物
Myprotein瑞典官方网站:畅销欧洲英国运动营养品牌
2018/01/22 全球购物
婚礼新郎父母答谢词
2014/01/16 职场文书
学生会主席事迹材料
2014/01/28 职场文书
《二泉映月》教学反思
2014/04/15 职场文书
清正廉洁演讲稿
2014/05/22 职场文书
本科毕业生自荐信
2014/05/26 职场文书
甘南现象心得体会
2014/09/11 职场文书
领导班子个人对照检查材料(群众路线)
2014/09/26 职场文书
学习保证书
2015/01/17 职场文书
详解Laravel框架的依赖注入功能
2021/05/27 PHP
Python matplotlib绘制条形统计图 处理多个实验多组观测值
2022/04/21 Python