如何将变量绑定到transcluded部分

时间:2014-10-30 19:39:48

标签: javascript angularjs angularjs-directive angularjs-scope

如何将指令范围内的变量绑定到transcluded模板?

app.directive('foo', function(){
    return {
        restrict: 'E',
        transclude: true,
        template: '<div ng-transclude></div>',
        link: function (scope) {
            scope.num = 5;
        }
    }
})

<div ng-app="app">
    <foo>
        {{num}}
    </foo>
</div>

1 个答案:

答案 0 :(得分:2)

您错过了一个应用模块。我还添加了一个modified类,以便您可以看到正在应用模板:

var app = angular.module("app", []);

app.directive('foo', function(){
    return {
        restrict: 'E',
        transclude: true,
        template: '<div class="modified" ng-transclude></div>',
        link: function (scope) {
            scope.num = 5;
        }
    }
});

请参阅plnkr:http://plnkr.co/edit/x9NE6A4kkqspKbO08yhq?p=preview