使用angularjs navite select指令,模型绑定仅为单向,而在ui select中,这似乎总是双向绑定。
<ui-select ng-model="uiSelected.animal">
<ui-select-match>
<span ng-bind="$select.selected.name"></span>
</ui-select-match>
<ui-select-choices repeat="animal in (animals | filter: $select.search) track by $index">
<span ng-bind="animal.name"></span>
</ui-select-choices>
</ui-select>
这是展示我问题的plunker:https://plnkr.co/edit/FkZsFcMrTveWjXR5HNyT?p=preview
我的问题:
如何使ui select只能与模型进行单向竞标,这样当我更改所选的范围模型时,它就不会绑定到ui select?如果我换个说法:我如何让ui选择像angular native选择一样?
使用单向绑定
{{::animal.name}}
您可能需要向动物/汽车添加$watch,并将所选对象保存在不同的$scope变量中。我看不到其他方法,因为uiSelected引用了动物数组中的对象。
选择事件时使用:
on-select="onSelectCallback($item, $model)"
看看这个笨蛋:https://plnkr.co/edit/Zcb9xlPm6TW7DFk1sjAO?p=preview