Javascript 角度材质md选择不绑定

Javascript 角度材质md选择不绑定,javascript,html,angularjs,material-design,angular-material,Javascript,Html,Angularjs,Material Design,Angular Material,大家好,谢谢阅读,我有一个问题与角材料md选择 它与我的模型不一致。我用它来做一个表单来更新这个模型的数据 <md-input-container class="md-icon md-block" flex ng-controller="ProveedorController" data-ng-init="listaProveedores()"> <label>Proveedor</label> <md-select ng-model="detalle.

大家好,谢谢阅读,我有一个问题与角材料md选择

它与我的模型不一致。我用它来做一个表单来更新这个模型的数据

<md-input-container class="md-icon md-block" flex ng-controller="ProveedorController" data-ng-init="listaProveedores()">
<label>Proveedor</label>
<md-select ng-model="detalle.proveedor" required name="proveedores">
    <md-option ng-value="proveedor" ng-repeat="proveedor in proveedores">{{proveedor.nombreProveedor}}</md-option>
</md-select>

校长
{{proveedor.nombreProveedor}

我曾尝试使用
ng selected
,但它绑定了另一个与原始模型不匹配的对象

知道我做错了什么吗?

给你-

加价

<div ng-app="MyApp" ng-controller="ProveedorController">
  <md-input-container class="md-icon md-block" flex data-ng-init="listaProveedores()">
    <label>Proveedor</label>
    <md-select ng-model="detalle.proveedor" required name="proveedores">
      <md-option ng-value="proveedor.nombreProveedor" ng-repeat="proveedor in proveedores">
        {{proveedor.nombreProveedor}}
      </md-option>
    </md-select>
  </md-input-container>
  <br>
  Proveedor: {{detalle.proveedor}}
</div>

好的,经过一个良好的睡眠和数小时的搜索,我找到了解决这个问题的方法

要跟踪对象,我需要在md select上添加属性

在本例中,类似于以下内容:
ng model options=“{trackBy:'$value.id'}”


校长
{{proveedor.nombreProveedor}

现在我所有的模型都显示良好。感谢您的阅读,如果我浪费了您的时间,请原谅。

我亲身体验了这一点,并尝试了不同的解决方案,但都无济于事。最终的修复方法是使用控制器实例变量而不是$scope来保存ng模型值


使用
this.somemodel
而不是引用
$scope.somemodel
来检索更新的模型值

很抱歉,这只添加了图标的依赖项,仍然无法解决绑定问题。我已经可以使用此选择创建对象(这是产品的积垢),但当我需要更新此对象(产品)时,它不会显示值,有些错误,初始化错误您也可以这样做:“
ng repeat=“proveedor in proveedores track by proveedor.idproveder“
。如果您没有id,并且希望跟踪2个属性,该怎么办?怎么做呢。谢谢
angular.module('MyApp',['ngMaterial', 'ngMessages', 'material.svgAssetsCache'])

.controller('ProveedorController', function($scope) {
  $scope.proveedores = [
    {nombreProveedor: "Daffy"},
    {nombreProveedor: "Mickey"},
    {nombreProveedor: "Goofy"}];
});
<md-input-container class="md-icon md-block" flex ng-controller="ProveedorController" data-ng-init="listaProveedores()">
    <label>Proveedor</label>
    <md-select ng-model="detalle.proveedor" required name="proveedores" ng-model-options="{trackBy: '$value.idProveedor'}">
        <md-option ng-value="proveedor" ng-repeat="proveedor in proveedores">{{proveedor.nombreProveedor}}</md-option>
    </md-select>
</md-input-container>