Angular JS使用ng-repeat生成ng-switch

时间:2015-07-22 11:20:15

标签: javascript angularjs

正如Angular'} documentation所说

  

要匹配的属性值不能是表达式。他们是   解释为要匹配的文字字符串值。

但是,如果我想生成所有标记块(例如,带有嵌套内容的一些div),我可能需要使用ng-repeat,为每个内容填充特定内容并设置每个ng-switch-when它们是某个变量的值,例如,描述某个标记块的对象的某个id字段。像ng-switch-when="{{data.id}}"这样的AFAIK之类的东西不起作用。我怎样才能达到目标?是ng-switch是否可能,或者可能没有这种方式,我必须使用ng-if或其他什么?

正如评论中所提到的那样,我试着说明我的意思。我正在谈论的事情应该是这样的:

HTML:

<div ng-app="app" ng-controller="appCtrl">
    <div ng-repeat="item in items" ng-switch on="selectedItem">
        <p ng-switch-when="{{item.id}}">{{item.content}}</p>
    </div>
</div>

JS:

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

app.controller("appCtrl", ["$scope", function($scope) {
    $scope.items = [{id:0, content:"foo"}, {id:1, content:"bar"}];
    // selectedItem should actually be assigned by some user control like radio button but
    // let's simplify and set it manually
    $scope.selectedItem = 0;
}]);

0 个答案:

没有答案