将范围值绑定到角度ui-select中的ui-select-match属性

时间:2015-02-16 14:11:57

标签: angularjs binding angular-ui angular-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;

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

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

1 个答案:

答案 0 :(得分:3)

如果我找到了你,你可以将你的价值包装在{{...}}中以使其有效,就像这样:

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

Demo