2

我正在使用 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>

但无论我尝试什么,都无法让它发挥作用。然后我在 uiSelectMatch 指令定义下的 UI-Select 源代码中找到了以下代码:

    $select.allowClear = (angular.isDefined(attrs.allowClear)) ? (attrs.allowClear === '') ? true : (attrs.allowClear.toLowerCase() === 'true') : false;

这可能意味着它正在对属性值进行字符串比较。

有什么办法可以解决这个问题并绑定属性(甚至是初始化期间的一次性绑定)?

4

1 回答 1

3

如果我说对了,你可以把你的价值包装起来{{...}}让它发挥作用,就像这样:

<ui-select-match placeholder="..." allow-clear="{{!!$parent.allowClear}}">{{$select.selected.DisplayText}}</ui-select-match>

见小Demo

于 2015-02-16T15:59:26.317 回答