【问题标题】:Md-select & Md-options Using Multiple Swap Values AngularJS Angular Material使用多个交换值的 Md-select 和 Md-options AngularJS Angular Material
【发布时间】:2017-03-06 15:13:23
【问题描述】:

问候 我对使用 md-select 和 md-options 有点陌生,并且遇到了一些障碍。我需要根据是否选择了 md-option 中的项目并将其设置为 true 以及如果没有将其返回为 false 来更改值。但是,我对如何做到这一点有点迷失,可以使用一些方向。目前,我正在尝试运行一个改变这一点的函数,但我似乎无法理解如何传递正确的对象。

我认为我在 md-options 和 md-select 逻辑上遗漏了一些东西,感谢您提供任何帮助。

    //Array of objects in ng-repeat
var vm= $scope;
  vm.metricsArr = [
    {id: 0, name:"Aircraft Commander", valId:false},
    {id: 1, name:"Flight Hours", valId: false},
    {id: 2, name:"# of Sorties", valId: false}];

//Change value
vm.changeMetrics = function(passedInParam){
//nothing in here since I cant get it to work currently
};

//HTML where i pass object in to change value
 <md-select multiple ng-model="i" ng-model-options= "{trackBy: '$value.id'}" ng-change="changeMetricVal(i);">
                <md-option ng-value="i" ng-repeat="i in metricsArr">
                  {{i.name}}
                </md-option>
              </md-select>

【问题讨论】:

    标签: angularjs angularjs-material


    【解决方案1】:

    由于某种原因,ng-change 没有被调用(我似乎记得在使用 md-select 之前遇到过这个问题)。你能做的是使用$scope.$watch - CodePen

    标记

    <div ng-controller="AppCtrl as vm" ng-cloak="" ng-app="MyApp">
      <md-select multiple ng-model="i" ng-model-options= "{trackBy: '$value.id'}" aria-label="Select">
        <md-option ng-value="i" ng-repeat="i in vm.metricsArr">
            {{i.name}}
        </md-option>
      </md-select>
    </div>
    

    JS

    angular.module('MyApp',['ngMaterial'])
    
    .controller('AppCtrl', function($scope) {
      var vm = this;
      vm.metricsArr = [
        {id: 0, name:"Aircraft Commander", valId:false},
        {id: 1, name:"Flight Hours", valId: false},
        {id: 2, name:"# of Sorties", valId: false}];
    
      $scope.$watch("i", function (newValue) {
        console.log(newValue);
      });
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-29
      • 2016-10-21
      相关资源
      最近更新 更多