使用ng-repeat内部将多个值传递给指令

时间:2015-09-26 19:34:19

标签: javascript angularjs

我有这样的自定义指令:

<user-preview closable="true" user="user" ng-repeat="user in users"></user-preview>

如您所见,我将两个属性传递给它:closableuser。用户一切都很好,它到达指令的内部模板。但是可关闭不会。它存在于内部范围内,但在模板中由于某种原因它是undefined。 如果我将ng-repeat移动到外部标签,它可以工作:

<span ng-repeat="user in users"><user-preview closable="true" user="user"></user-preview></span>

那么如何在ng-repeat里面传递这两个值呢?有可能吗?

这是我的指令的代码,以防万一:

.directive('userPreview', function() {
    return {
        scope: {
            'user': '=',
            'closable': '='
        },
        restriction: 'E',
        replace: true,
        priority: 1001,
        templateUrl: '/static/angular_tpls/user_preview.html',
        controller: function($scope) {
        },
        link: function(scope, element, attrs, ctrl) {
        }
    }
});


<span class="badge active user">
    <a href="#">
        <img ng-src="{{user.avatar}}" height="25px" class="img-circle">
    </a>
    <a href="#">
        {{user.name}}
    </a>
    <span ng-if="closable" class="glyphicon glyphicon-remove-circle" ng-click="close()"></span>
</span>

1 个答案:

答案 0 :(得分:0)

通过这种方式,您可以轻松传递您的价值。

<user-preview closable="user.closable" user="user.userInfo" ng-repeat="user in Listobj"></user-preview>

您的自定义指令

    views: {
        month: { 
            titleFormat: 'MMMM YYYY'
        },
        day: { 
            titleFormat: 'DD / MMMM / YYYY'
        }
    },