繁体   English   中英

如何在Angular.js中创建新的标签元素

[英]How to create new tag element in Angular.js

我想在Angular.js中创建新元素

<link url="http://google.com">google</link>

将会转换为<a>标记,我该怎么做?

到目前为止的代码:

var app = angular.module('app', []);
app.directive('link', function() {
    return {
        restrict: 'E',
        transclude: true,
        replace: true,
        scope: false,
        template: '<a href="" ng-transclude></a>';
    }
});

但它会在链接后显示google,但我不知道该如何获取网址。

您可以在链接功能中获得它。 您的指令如下所示:

app.directive('link', function() {
    return {
        restrict: 'E',
        transclude: true,
        replace: true,
        scope: false,
        template: '<a href="{{url}}" ng-transclude></a>',
        link: function(scope, element, attrs) {
            scope.url = attrs.url;
        }
    }
});

如果可以为指令创建隔离范围,则还可以执行以下操作:

app.directive('link', function() {
    return {
        restrict: 'E',
        transclude: true,
        replace: true,
        scope: {
            url: '@'
        },
        template: '<a href="{{url}}" ng-transclude></a>'
    }
});

然后,url属性将自动放入指令的范围内。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM