AngularJS删除属性

前端之家收集整理的这篇文章主要介绍了AngularJS删除属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个指令,用一些常规的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/警告:您的浏览器可能会挂起!
看到它生活和安全http://jsfiddle.net/WptGC/3/代码,使一切崩溃的评论.

.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');
    }
  }
});

猜你在找的Angularjs相关文章