【问题标题】:Angular chosen is not binding Array of Objects选择的角度不绑定对象数组
【发布时间】:2014-10-28 05:31:53
【问题描述】:

我正在使用角度选择插件来选择任何选择元素上的属性。

我的数据是这样的格式:

 $scope.pets =  [
      {
          id: '1',
          name: 'Dog',
          desc:"Something"
      },
      {
          id: '2',
          name: 'Cat',
          desc:"Something"
      },
      {
          id: '3',
          name: 'Rat',
          desc:"Something"
      }
  ];

使用 ng-options 显示名称的角度选择实现是:

<select multiple ng-model="myPets"  ng-options="r as r.name for r in pets" chosen>

我可以像这样使用 ng-options 来获取上述数据的下拉列表,

但是,如果我的 ng 模型绑定到以下对象,如何将默认值绑定到角度选择输入框中:

$scope.myPets= { 编号:'6', 名称:'猪', 描述:“某事” },

【问题讨论】:

标签: javascript angularjs


【解决方案1】:

您可以使用在控制器中设置默认值

$scope.myPets= [$scope.pets[0], $scope.pets[5]];

与您认为需要使用数组 [] 相比,因为您使用的是多选。您还必须直接引用现有对象,否则 angular/javascript 将无法识别连接。

【讨论】:

  • 感谢@Absor。默认情况下,我需要将动态值绑定到$scope.myPets。如何做到这一点?
  • @MANOJ 动态值是什么意思?例如,如果是来自 ajax 调用的数据,您可以在设置 $scope.pets 之后设置 $scope.myPets
  • 与 Ajax 调用相同,$scope.myPets 中的对象将被更改,因为一旦您选择了一个元素并在下次加载页面时保存,先前选择的元素应该列在模型中,即。 , $scope.myPets
  • 听起来你必须在页面加载之间存储选定的值(或者至少是 id),然后将页面加载时存储的值返回给 myPets。但我可能误解了。
猜你喜欢
  • 2019-02-16
  • 2021-03-03
  • 2023-04-10
  • 2018-12-13
  • 1970-01-01
  • 1970-01-01
  • 2018-07-13
  • 1970-01-01
  • 2015-02-03
相关资源
最近更新 更多