将范围值绑定到 ui-select-匹配 angular 的 ui-select 中的属性
Binding scope values to ui-select-match attributes in angular's ui-select
我正在使用 AngularUI 的 UI-Select 在我的应用程序中创建丰富的选择,我正在尝试绑定 allow-clear
属性作用域上的函数或 属性:
<ui-select ng-model="$parent.model" theme="bootstrap">
<ui-select-match placeholder="..." allow-clear="$parent.allowClear">{{$select.selected.DisplayText}}</ui-select-match>
<ui-select-choices repeat="opt.ID as opt in operators">
{{opt.DisplayText}}
</ui-select-choices>
</ui-select>
但无论我怎样尝试,都无法正常工作。然后在UI-Select源码上找到如下代码,在uiSelectMatch指令定义下:
$select.allowClear = (angular.isDefined(attrs.allowClear)) ? (attrs.allowClear === '') ? true : (attrs.allowClear.toLowerCase() === 'true') : false;
这可能意味着它正在对属性值进行字符串比较。
有什么方法可以解决这个问题并绑定属性(即使是初始化期间的一次性绑定)?
如果我没看错,您可以将您的值包装在 {{...}}
中以使其正常工作,如下所示:
<ui-select-match placeholder="..." allow-clear="{{!!$parent.allowClear}}">{{$select.selected.DisplayText}}</ui-select-match>
见少Demo.
我正在使用 AngularUI 的 UI-Select 在我的应用程序中创建丰富的选择,我正在尝试绑定 allow-clear
属性作用域上的函数或 属性:
<ui-select ng-model="$parent.model" theme="bootstrap">
<ui-select-match placeholder="..." allow-clear="$parent.allowClear">{{$select.selected.DisplayText}}</ui-select-match>
<ui-select-choices repeat="opt.ID as opt in operators">
{{opt.DisplayText}}
</ui-select-choices>
</ui-select>
但无论我怎样尝试,都无法正常工作。然后在UI-Select源码上找到如下代码,在uiSelectMatch指令定义下:
$select.allowClear = (angular.isDefined(attrs.allowClear)) ? (attrs.allowClear === '') ? true : (attrs.allowClear.toLowerCase() === 'true') : false;
这可能意味着它正在对属性值进行字符串比较。
有什么方法可以解决这个问题并绑定属性(即使是初始化期间的一次性绑定)?
如果我没看错,您可以将您的值包装在 {{...}}
中以使其正常工作,如下所示:
<ui-select-match placeholder="..." allow-clear="{{!!$parent.allowClear}}">{{$select.selected.DisplayText}}</ui-select-match>
见少Demo.