AngularJS删除属性
发布时间:2020-12-17 07:46:24 所属栏目:安全 来源:网络整理
导读:我有一个指令,用一些常规的HTML替换我的自定义标签. 有一些我想删除的属性.例如,给出语法 ui mybutton width="30"/mybutton 我的指令将其转换成 div width="30" class="btn"bla bla /div 我想删除“width = 30”并添加style =“width:{{old width value her
我有一个指令,用一些常规的HTML替换我的自定义标签.
有一些我想删除的属性.例如,给出语法 <ui mybutton width="30"></mybutton> 我的指令将其转换成 <div width="30" class="btn">bla bla </div> 我想删除“width = 30”并添加style =“width:{{old width value here}}” 我一直在尝试编译和链接功能.我应该在编译或链接功能中这样做吗? 我以为我必须在编译函数中执行它,因为我想在模板中进行修改. 现在看到它在http://jsfiddle.net/WptGC/2/警告:您的浏览器可能会挂起! .directive('mybutton',function($compile) { return { restrict: 'A',//transclude: true,template: '<div class="this is my subscreen div" style="width:{{width}}"></div>',replace: false,/*scope: { width: '@',height: '@',x: '@',y: '@' },*/ compile: function($tElement,$tAttrs) { console.log("subscreen template attrs:"); console.log($tAttrs); var el = $tElement[0]; //el.getAttribute('width'); var stylewidth = el.getAttribute('width'); el.removeAttribute('width'); return function(scope) { $compile(el)(scope); } } } }) 我刚刚得到一个奇怪的循环(该console.log显示了几千次)
除非我缺少一些其他要求,否则您应该能够使用隔离范围和模板:
http://jsfiddle.net/WptGC/6/ app.directive('backbutton',function(){ return { restrict: 'A',replace:true,scope: { x: '@',template:'<button style="width: {{x}}px; height: {{y}}px">A back-button template</button>',link: function (scope,element,attrs) { element.removeAttr('x').removeAttr('y'); } } }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |