在我的Angular指令中将replace设置为true时,没有显示任何内容

时间:2015-03-31 20:13:05

标签: javascript angularjs

我正在学习AngularJS。我写了一个简单的指令。它仅在replace设置为false时有效。有趣的是,如果我理解正确,它应该是真的。您可以在https://jsfiddle.net/F52y5/86/找到代码。

HTML:

<div ng-app="bugTrackerApp" ng-controller="bugTrackerController"><bug-tracker title='abcde' bugs='bugs'></bug-tracker></div>

脚本:

angular.module('bugTrackerApp', ['ui.bootstrap'])
.controller('bugTrackerController', ['$scope', function ($scope) {
    $scope.bugs = [
        { severity: 'high', id: '10000', summary: 'summary 1' },
        { severity: 'med', id: '20000', summary: 'summary 2' },
        { severity: 'low', id: '30000', summary: 'summary 3' },
        { severity: 'low', id: '40000', summary: 'summary 4' },
        { severity: 'low', id: '50000', summary: 'summary 5' },
        { severity: 'low', id: '50000', summary: 'summary 6' },
        { severity: 'low', id: '50000', summary: 'summary 7' },
        { severity: 'low', id: '50000', summary: 'summary 8' },
    ];
}])
.directive('bugTracker', function () {
    return {
        restrict: 'E',
        scope: {
            title: '@',
            bugs: '='
        },
        template: "<accordion><accordion-group is-open='true'>" +
             " <accordion-heading>{{formatTitle()}}</accordion-heading>" +
             "  <table class='bug-review'><tbody ng-repeat='bug in bugs'><tr ng-class=getTrClass(bug.severity)><td>{{bug.id}}</td><td>{{bug.summary}}</td></tr></table>" +
             "</accordion-group></accordion>",
        controller: ["$scope", function ($scope) {
            $scope.formatTitle = function () {
                return $scope.title + ' (count=' + $scope.bugs.length + ')';
            }
        }],
        replace: false,      
        transclude: false    
    };});

请注意,替换标志当前设置为true,因此内容会显示。

0 个答案:

没有答案