【问题标题】:Angularjs Bootstrap to MaterialAngularjs 引导到材质
【发布时间】:2020-01-04 15:23:28
【问题描述】:

我正在将 UI 代码从引导程序更改为材料。我正在使用 angularjs 和材料 1.1.20。我不知道 angularjs 但想学习。请参阅下面我需要更改为 angularjs 材料的代码。

我知道 md-select 不接受 ng-options,但我不知道如何将其更改为使用 md-select 标签。

我的背景是设计 HTML CSS,但我想学习更多 js 和 angular 等。

<div class="col-md-12 col-no-pad">
  <div class="input-group">
  <span class="input-group-addon" id="LANGUAGE">Language</span>
  <select name="LANGUAGE" class="form-control" tabindex="8"
                          ng-init="LANGUAGE = null"
                          ng-model="LANGUAGE"
                          ng-options="language.KEYID as language.DESC for language in languages">
 <option value="">-Select One-</option>
 </select>
</div>

js:

 dataService.getAll('language').then(function(data) {
    $scope.languages = data.data;
  });

我希望它作为一个 angularjs 材质下拉菜单。

【问题讨论】:

    标签: angularjs angularjs-material


    【解决方案1】:

    您需要在&lt;md-option&gt; 上使用ng-repeat。检查下面的 sn-p。

    angular.module('myApp', ['ngMaterial'])
      .controller('AppCtrl', function($scope) {
        $scope.languages = [{
          desc: 'English',
          keyid: 1,
          position: 5
        }, {
          desc: 'Italian',
          keyid: 2,
          position: null
        }, {
          desc: 'Spanish',
          keyid: 3,
          position: 43
        }, {
          desc: 'Malayalam',
          keyid: 4,
          position: 8
        }];
      });
    md-input-container {
      min-width: 50%;
    }
    <link rel="stylesheet" href="https://rawgit.com/angular/bower-material/master/angular-material.css">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.6/angular.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.6/angular-animate.js"></script>
    <script src="https://rawgit.com/angular/bower-material/master/angular-material.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.6/angular-aria.js"></script>
    
    <div ng-app="myApp" ng-cloak ng-controller="AppCtrl as ctrl">
      <md-input-container>
        <label>Languages</label>
        <md-select ng-model="languageSelected">
          <md-option ng-repeat="item in languages" ng-value="item.keyid">
            {{ item.desc }}
          </md-option>
        </md-select>
      </md-input-container>
      <div>Your selection: {{ languageSelected || '--' }}</div>
      <div ng-repeat="item in languages" ng-if="item.keyid == languageSelected">
        <div>desc: {{ item.desc || '--' }}</div>
        <div>position: {{ item.position || '--' }}</div>
        <div>keyid: {{ item.keyid || '--' }}</div>
      </div>
    </div>

    【讨论】:

    • 谢谢!我会尽快实现这个。
    • 我还没收到。请意识到我是新人。请参阅:ibb.co/SsN1QKQ {{data}} dataService.getAll('language').then(function(data) { $scope .languages = data.data; });
    • 我无法查看屏幕截图。还有其他方法可以分享吗?错误是什么?
    • "KEYID":30,"DESC":"Korean","POSITION":null
    • 好的,KEYID 是下拉值,Korean 是要显示的文本,POSITION 在哪里适合下拉? (仅供参考:我现在可以看到屏幕显示)
    猜你喜欢
    • 2018-06-17
    • 1970-01-01
    • 2017-12-12
    • 1970-01-01
    • 2019-03-18
    • 2015-05-16
    • 1970-01-01
    • 1970-01-01
    • 2018-09-19
    相关资源
    最近更新 更多