有没有办法使用类似于ng-options
中使用的理解表达式来创建一组单选按钮或复选框?
app.js
angular
.module("app", [])
.controller("controller", ["$scope", function($scope){
$scope.selectedRadio = null;
$scope.selectedCheckboxes = [];
$scope.radioOptions = [
//some options...
];
$scope.checkboxOptions = [
//some options...
];
}]);
的index.html
<div data-ng-app="app" data-ng-controller="controller>
<radio-group ng-radios="option as option.option_label
for option in radioOptions
track by option.option_id"
ng-model="selectedRadio"
ng-selected="option.selected" />
<checkbox-group ng-checkboxes="option as option.option_label
for option in checkboxOptions
track by option.option_id"
ng-model="selectedCheckboxes"
ng-selected="option.selected" />
</div>
我希望避免使用复杂的正则表达式来支持所有形式的理解表达式。
答案 0 :(得分:0)
因为ngOptions
(以及例如ngRepeat
)提供自定义表达式语法的原因是because it was coded to support it。
要支持第三方指令中的自定义表达式,应该使用regexps手动解析属性值 - 借用现有指令或从头开始编写。
除了$interpolate
和$parse
服务支持的基本Angular expressions之外,Angular中没有内置表达式魔法。