Angular ui.select 未绑定到 ng-model

Angular ui.select not binding to ng-model

我正在使用 angular ui.select,但在将所选值绑定到模型时遇到了问题。我正在尝试使用 ui.select ng-model="data" 设置对象的变量。但由于某种原因,它不会选择值不会绑定到模型。这是我使用的代码:

<ui-select ng-model="data" ng-disabled="disabled" theme='select2' style="min-width: 300px;" title="some title">
   <ui-select-match placeholder="Select a credit status in the list">[[ $select.selected.variable ]]</ui-select-match>
   <ui-select-choices repeat="options in options | filter: $select.search">
      <p>[[ options.variable ]]</p>
  </ui-select-choices>
</ui-select>

在我的例子中,使用它不会将所选值绑定到模型。然后我使用 $parent.data 确实有效,但是当我使用多个 ui-selects 时,一次只能使用一个。

一定是我做错了什么,感谢您的帮助。

这个 Plunker 是您正在使用的组件的演示:

http://plnkr.co/edit/6iiLpQlZpqjd9tIyTFQY?p=preview

尝试使用对象作为 ng-model。

ng-model="data.attribute"

由于您尝试使用多个 ui-select,我建议创建并初始化一个包含在 $scope 对象中的数组,如下所示:

$scope.selections = { selectedData = [] };

然后对于 ng-model,你可以使用适当的点符号:

ng-model="selections.selectedData"

希望对您有所帮助!

这是一个常见的引用问题。

您可以将对象用作 ng-model

ng-model="data.value"

或者你可以尝试在控制器内部初始化数据

$scope.data = null;

或者您可以使用 John Papa's style guide 中描述的 controllerAs 视图语法(这样您将避免一次又一次地面对同样的问题)。

<div ng-controller="CustomerController as controllerName">
   <ui-select ng-model="data" ng-disabled="disabled" theme='select2' style="min-width: 300px;" title="some title">
       <ui-select-match placeholder="Select a credit status in the list">[[ $select.selected.variable ]]</ui-select-match>
       <ui-select-choices repeat="options in options | filter: $select.search">
           <p>[[ options.variable ]]</p>
       </ui-select-choices>
   </ui-select>
</div>