2016-04-24 8 views
0

私がしたのは、公式の非同期検索デモ(私の使用例に合ったもの)を変更して、 "コントローラとして"使用し、結果として奇妙な振る舞いを得ることでした。 Codepen is here。私は何か不足していますか?角度のある素材:md-selectは "controller as"の構文では動作しませんか?

ここでは上記のリンクからコードの関連するビットです:

JS:

angular.module('MyApp',['ngMaterial', 'ngMessages', 'material.svgAssetsCache']) 
.controller('SelectAsyncController', function($timeout, $scope) { 
    var vm = this; 

    vm.user = null; 
    vm.users = null; 

    vm.loadUsers = function() { 
    return $timeout(function() { 
     vm.users = vm.users || [ 
     { id: 1, name: 'Scooby Doo' }, 
     { id: 2, name: 'Shaggy Rodgers' }, 
     { id: 3, name: 'Fred Jones' } 
     ]; 
    }, 650); 
    }; 
}); 

マークアップ:

<div ng-controller="SelectAsyncController as vm" layout="column" ng-app="MyApp"> 
    <md-select placeholder="Assign to user" 
       ng-model="vm.user" 
       md-on-open="vm.loadUsers()"> 
     <md-option ng-value="vm.user" 
       ng-repeat="user in vm.users">{{user.name}}</md-option> 
    </md-select> 
    <p>Assigned to: {{ vm.user ? vm.user.name : 'No one yet' }}</p> 
</div> 

答えて

0

あなたはユーザー」にNG-値を変更する必要がありますが、 "

<md-option ng-value="user" ng-repeat="user in vm.users">{{user.name}}</md-option> 

ここでは、作業はCodepenです。

+0

ほぼありました! Спасибище! :) – montrealist

+0

あなたは大歓迎です:) – alyona

関連する問題