在ng-options中隐藏一个选项

我是Angular的新手,正在尝试ng-options。在我的控制器中,我有:

$scope.permissionLevels = [

{ value: "ROLE_READ", text: "Read Only" },

{ value: "ROLE_WRITE", text: "Write" }

];

在我的模板中,我有:

<select ng-options="permissionLevel.text for permissionLevel in permissionLevels"

ng-model="selectedValue"></select>

根据视图,我想隐藏“读取”或“写入”。所以在我的控制器中,我还有另一个标志来指示它是什么视图。在使用ng-

options之前,我有一个普通的select下拉列表,并做了如下操作:

<select>

<option>Read Only </option>

<option ng-show="shouldShowWrite">Write </option>

</select>

有没有办法用ng-options做到这一点?谢谢。

回答:

您可以在ngOptions表达式中使用过滤器:

<select ng-model="selectedValue"

ng-options="permissionLevel.text for permissionLevel in

permissionLevels | filter:shouldShow">

</select>

并在控制器中将ShouldShow()函数定义为$ scope:

$scope.shouldShow = function (permissionLevel) {

// put your authorization logic here

return $scope.permission.canWrite || permissionLevel.value !== 'ROLE_WRITE';

}

有关完整示例,请参阅:http :

//plnkr.co/edit/8FkVktDXKGg3MQQawZCH

以上是 在ng-options中隐藏一个选项 的全部内容, 来源链接: utcz.com/qa/408526.html

回到顶部