星空网 > 软件开发 > Java

AngularJS中使用$parse或$eval在运行时对Scope变量赋值

 

在"AngularJS中自定义有关一个表格的Directive"中自定义了一个有关表格的Direcitve,其表格的表现方式是这样的:

 

<table-helper datasource="customers" clumnmap="[{name: 'Name'}, {street: 'Street'}, {age: 'Age'}, {url: 'URL', hidden: true}]"></table-helper>

以上,变量colmnmap的值是事先定义在了Scope中的:

 

return {  restrict: 'E',  scope: {    columnmap: '=',    datasource: '='  },  link:link,  template:template};

 

AngularJS中,还有一种运行时给Scope变量赋值的办法,那就是在link函数中使用$parse或$eval方法。

在Direcitve的呈现方面和以前一致:

<table-helper-with-parse datasource="customers" columnmap="[{name: 'Name'},...]"></table-helper-with-parse>

Directive大致是这样:

 

var tableHelperWithParse = function($parse){  var template = "",  link = function(scope, element, attrs){    var headerCols = [],      tableStart = '<table>',      tableEnd = '</table>',      table = '',      visibleProps = [],      sortCol = null,      sortDir = 1,      columnmap = null;      $scope.$watchCollection('datasource', render);            //运行时赋值columnmap      columnmap = scope.$eval(attrs.columnmap);            //或者      columnmap = $parse(attrs.columnmap)();      wireEvents();      function rener(){        if(scope.datasource && scope.datasourse.length){          table += tableStart;          table += renderHeader();          table += renderRows() + tableEnd;          renderTable();        }      }  };    return {    restrict: 'E',    scope: {      datasource: '='    },    link: link,    template: template  }}angular.module('direcitvesModule')  .directive('tableHelperWithParse', tableHelperWithParse);

 




原标题:AngularJS中使用$parse或$eval在运行时对Scope变量赋值

关键词:JS

JS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

纺织服装:https://www.goluckyvip.com/tag/13981.html
欧盟产品:https://www.goluckyvip.com/tag/13982.html
美国税收负担:https://www.goluckyvip.com/tag/13983.html
美国国债:https://www.goluckyvip.com/tag/13984.html
特蕾莎梅:https://www.goluckyvip.com/tag/13986.html
网站搜索:https://www.goluckyvip.com/tag/13987.html
海外KOL推广:与潮流文化共舞,打造年轻态时尚品牌形象:https://www.xlkjsw.com/news/92295.html
DTC个护品牌Svish Ropes完成新一轮融资:https://www.kjdsnews.com/a/1842223.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流