Javascript 角度材质md选择不绑定
大家好,谢谢阅读,我有一个问题与角材料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-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>