0

Hallo alle Dank für das Lesen Bindung, ich habe ein Problem mit kantigem Werkstoff md-selectscharfkantiges Material md-select nicht

es nicht mit meinem Modell nicht bindet. Ich verwende es, um ein Formular zu machen, um Daten dieses Modells zu aktualisieren.

<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> 

Ich habe versucht, ng-selected zu verwenden, aber es ein anderes Objekt binden, die nicht mit dem Original des Modells paßt.

eine Idee, was ich falsch mache?

Antwort

3

Ok, nach einem guten Schlaf und Stunden des Suchens ich habe die Lösung dieses gefunden.

den Überblick über die Objekte zu halten, ich brauche eine Eigenschaft auf meinem md-select

in diesem Fall etwas Ähnliches wie dies hinzuzufügen: ng-model-options="{trackBy: '$value.id'}"

<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> 

alle Anzeige fein meine Modelle sind jetzt. Danke für das Lesen und Entschuldigung, wenn ich deine Zeit verschwende.

+0

Sie können auch tu es so: "' ng-repeat = "proveedor in proveedores tracks von proveedor.idProveedor" '. https://docs.angularjs.org/api/ng/directive/ngRepeat – kuhnroyal

+0

was ist, wenn du keine ID und du hast möchte mit 2 Eigenschaften verfolgen? wie ist das zu machen? Danke – MurWade

0

Hier gehen Sie - CodePen

Markup

<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> 

JS

angular.module('MyApp',['ngMaterial', 'ngMessages', 'material.svgAssetsCache']) 

.controller('ProveedorController', function($scope) { 
    $scope.proveedores = [ 
    {nombreProveedor: "Daffy"}, 
    {nombreProveedor: "Mickey"}, 
    {nombreProveedor: "Goofy"}]; 
}); 
+0

Sorry, aber dies nur eine Abhängigkeit für Symbole hinzufügen, immer noch nicht gelöst mein Problem mit der Bindung. Ich kann bereits Objekte mit dieser wählen (dies ist ein CRUD von Produkten), aber es zeigt nicht den Wert, wenn ich eine Aktualisierung dieses Objekts (Produkt), etwas falsch machen und falsch initialisieren müssen –