Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在angularjs materials silder中显示文本代替数字_Angularjs_Angular Material - Fatal编程技术网

如何在angularjs materials silder中显示文本代替数字

如何在angularjs materials silder中显示文本代替数字,angularjs,angular-material,Angularjs,Angular Material,我想要的是当你点击滑块,然后在它的工具提示上显示文本代替数字 代码如下: HTML: <div ng-controller="AppCtrl" class="sliderdemoBasicUsage" ng-app="MyApp"> <br> <br> <br> <br> <md-content style="margin: 16px; padding:16px"> <br>

我想要的是当你点击滑块,然后在它的工具提示上显示文本代替数字

代码如下:

HTML

<div ng-controller="AppCtrl" class="sliderdemoBasicUsage" ng-app="MyApp">
  <br>
  <br>
  <br>
  <br>
  <md-content style="margin: 16px; padding:16px">
    <br>
    <br>
   <md-slider flex class="md-primary" md-discrete ng-model="rating3" step="1" min="1" max="5" aria-label="rating">
      </md-slider>
  </md-content>
</div>

或者您可以参考以下链接

,不幸的是,该功能不受支持,因为从技术上讲,它不是系统的一部分


对于李克特量表,你应该考虑。否则,您可以通过使用一个水平行的角材质来避开它。

角材质不支持它

有关更多详细信息,请查看Angle material模块的slider.js

function SliderDirective($$rAF, $window, $mdAria, $mdUtil, $mdConstant, $mdTheming, $mdGesture, $parse, $log) {
  return {
    scope: {},
    require: '?ngModel',
    template:
      '<div class="md-slider-wrapper">\
        <div class="md-track-container">\
          <div class="md-track"></div>\
          <div class="md-track md-track-fill"></div>\
          <div class="md-track-ticks"></div>\
        </div>\
        <div class="md-thumb-container">\
          <div class="md-thumb"></div>\
          <div class="md-focus-thumb"></div>\
          <div class="md-focus-ring"></div>\
          <div class="md-sign">\
            <span class="md-thumb-text"></span>\
          </div>\
          <div class="md-disabled-thumb"></div>\
        </div>\
      </div>',
    compile: compile
  };
您可以像这样修改函数的内容

var _values = ["very low", "low", "average", "good", "best"];
thumbText.text( _values[ngModelCtrl.$viewValue] );

渲染文本而不是整数值。

Angualar材质目前不支持此功能。您可以通过编写自己的逻辑或创建自己的滑块来执行此操作

Material2团队已经发现了这个问题,可能很快就会找到解决方案。

最后,在将angular.js更新为angular后,angular Material为角度滑块提供了自定义拇指标签格式的选项

import {Component} from '@angular/core';

/**
 * @title Slider with custom thumb label formatting.
 */
@Component({
  selector: 'slider-formatting-example',
  templateUrl: 'slider-formatting-example.html',
  styleUrls: ['slider-formatting-example.css'],
})
export class SliderFormattingExample {
  formatLabel(value: number | null) {
    if (!value) {
      return 0;
    }

    if(value < 250)
    {
        return 'Low';
    }
    else if(value > 250 && value < 750)
    {
       return 'Medium';
    }
    else
    {
        return 'High';
    }

    return value;
  }
}
从'@angular/core'导入{Component};
/**
*@具有自定义拇指标签格式的标题滑块。
*/
@组成部分({
选择器:“滑块格式示例”,
templateUrl:“滑块格式示例.html”,
样式URL:['slider-formatting-example.css'],
})
导出类slidePerformAttingExample{
formatLabel(值:number | null){
如果(!值){
返回0;
}
如果(值<250)
{
返回“低”;
}
否则,如果(值>250&&值<750)
{
返回“中等”;
}
其他的
{
返回“高”;
}
返回值;
}
}
Html代码:

<mat-slider
  thumbLabel
  [displayWith]="formatLabel"
  tickInterval="1000"
  min="1"
  max="100000"></mat-slider>

注意:我将我的应用程序从angular.js更新为angular的最新版本


你能分享一下代码吗?你可以在这里找到。刚刚创建了一个简单的滑块,还在搜索如何用文本@AnkurTiwari覆盖数字。我在你的代码笔中找不到任何滑块。我看到的只是一个约会挑选者。你能再看一下吗。谢谢,没有棱角,这行得通吗?以jQuery为例?
 <span class="md-thumb-text"></span>
function postLink(scope, element, attr, ngModelCtrl){
}
var _values = ["very low", "low", "average", "good", "best"];
thumbText.text( _values[ngModelCtrl.$viewValue] );
import {Component} from '@angular/core';

/**
 * @title Slider with custom thumb label formatting.
 */
@Component({
  selector: 'slider-formatting-example',
  templateUrl: 'slider-formatting-example.html',
  styleUrls: ['slider-formatting-example.css'],
})
export class SliderFormattingExample {
  formatLabel(value: number | null) {
    if (!value) {
      return 0;
    }

    if(value < 250)
    {
        return 'Low';
    }
    else if(value > 250 && value < 750)
    {
       return 'Medium';
    }
    else
    {
        return 'High';
    }

    return value;
  }
}
<mat-slider
  thumbLabel
  [displayWith]="formatLabel"
  tickInterval="1000"
  min="1"
  max="100000"></mat-slider>