AngularJS - 是否可以将Directive链接函数中的attr值直接传递给模板?

时间:2015-07-28 08:05:54

标签: angularjs angularjs-directive angularjs-scope

我想知道是否可以访问直接在模板配置中传递给自定义指令的attrs?这样的事情......目前还不起作用?

angular.module('msDirectives', [])
    .directive('msPerson', function(){
        return{
            restrict: 'E',
            link: function(scope, element, attrs){
            },
            template: '<h1>{{attrs.firstName}}</h1>',
        };
    });

我意识到我可以将attrs.firstName分配给链接函数中的范围以使其工作(如下所示),只是试图了解范围是否是模板中唯一可访问的内容,或者是否也将attrs传递给它

angular.module('msDirectives', [])
    .directive('msPerson', function(){
        return{
            restrict: 'E',
            link: function(scope, element, attrs){
                scope.name = attrs.firstName;
            },
            template: '<h1>{{name}}</h1>'
        };
    });

1 个答案:

答案 0 :(得分:1)

隔离范围的目的(隔离本身除外)是将属性值赋值给范围。

angular.module('msDirectives', [])
    .directive('msPerson', function(){
        return{
            restrict: 'E',
            scope: {
                name: '@firstName'
            },
            template: '<h1>{{name}}</h1>'
        };
    });