尽管使用" ="属性值在指令中被解析为字符串。

时间:2015-03-05 12:04:09

标签: javascript arrays angularjs angular-directive

我尝试创建自定义指令并将数组发送到其中以创建动态模板。我看过这两个问题:

Binding array to directive variable in AngularJS

Passing array via attribute to AngularJS directive

我基本上使用相同的代码但是当我在控制台登录tAttrs时,它只显示"testArray"而不是Array(2)的标签,因为它应该是{{1}正确解释。

从我所看到的,我没有做错任何事情,所以它有点让我疯狂,为什么它不起作用。

有人可以指出为什么这不能按预期工作吗?

包含数组的控制器:

tags="testArray"

指令标记:

forumApp.controller('profileCtrl', ['$scope', function($scope) {
    $scope.testArray = ['displayName', 'email'];
}

指令:

<error tags="testArray"></error>

1 个答案:

答案 0 :(得分:0)

如果您要将数组放在隔离范围内,则不再需要tAttrs

template: function(tElement) {
            return "<div ng-if='row.model === " + tags[0] + "'>Hello world</div>";
        }

上述模板将在隔离范围内查找tagstAttrs正在从元素中提取 raw 属性。