Angular2@ngFor使用Dart生成指令和表格

Angular2@ngFor使用Dart生成指令和表格,dart,angular,angular2-forms,Dart,Angular,Angular2 Forms,我只有一张地图 飞奔 .dart(下面是dart的蛇口答案)|正确答案 添加了自定义管道以执行大小写 ///Takes the first letter of [String] key in a [Map], capitalizes it and ///returns the key value as the capitallized word @Pipe( name: 'capitalize' ) class CapitalizePipe extends PipeTransform {

我只有一张地图

飞奔 .dart(下面是dart的蛇口答案)|正确答案 添加了自定义管道以执行大小写

///Takes the first letter of [String] key in a [Map], capitalizes it and 
///returns the key value as the capitallized word
@Pipe( name: 'capitalize' )
class CapitalizePipe extends PipeTransform {
  dynamic transform( String value, List args ) {
    StringBuffer buffer = new StringBuffer( );

    List<String> list = value.split( '' );
    if ( value != null ) {
      for ( int i = 0; i < list.length; i++ ) {
        if ( i == 0 ) {
          buffer.write( list[i].toUpperCase( ) );
          continue;
        }

        buffer.write( list[i] );
      }
    }
    return buffer.toString( );
  }
}

  <tbody>
  <tr *ngFor = "#name of names?.keys">
    <td class = "mdl-data-table__cell--non-numeric">{{name | capitalize}}</td>
    <td>
      {{names[name]}}
    </td>
  </tr>
  </tbody>
///取[Map]中[String]键的第一个字母,将其大写,然后
///将键值作为大写字返回
@管道(名称:“大写”)
类扩展了PipeTransform{
动态转换(字符串值、列表参数){
StringBuffer=新的StringBuffer();
列表=值。拆分(“”);
if(值!=null){
for(int i=0;i
迭代
映射的键,使用这些键作为标题,然后您可以使用键访问
映射中的值,该值为您提供值

<tbody>
  <tr *ngFor="#name of names?.keys">
    <td class="mdl-data-table__cell--non-numeric">{{name}}</td>
    <td>{{names[name]}}</td>
  </tr>
</tbody>

{{name}}
{{names[name]}

迭代
映射的键,使用这些键作为标题,然后您可以使用键访问
映射中的值,该值为您提供值

<tbody>
  <tr *ngFor="#name of names?.keys">
    <td class="mdl-data-table__cell--non-numeric">{{name}}</td>
    <td>{{names[name]}}</td>
  </tr>
</tbody>

{{name}}
{{names[name]}

使用dart标记文章可以让用户知道您使用的是哪种语言,因为它支持3种不同的语言,而且每种语言都有细微差别。@SnareChops感谢您提供的信息。使用dart标记文章可以让用户知道您使用的是哪种语言,因为它支持3种不同的语言和语言每一个都有它的细微差别。@SnareChops感谢您提供的信息。在尝试解决方案时,请参阅上面格式化问题中的控制台错误。非常抱歉,我对dart不太了解,这是有效的JS和TS。如何使用dart通过索引获取密钥?或者可能是
names.keys()[idx]…
?别担心,原理是正确的。请参阅上面问题中更正的省道端口。在这种情况下,Dart中不需要$index。我必须在Dart中找到slice()方法才能应用于大小写。如果没有等效项,我将不得不创建一个进行大小写的管道。再次感谢。啊,你是对的,这是一个更好的方法来实现这一点,也是有效的JS/TS。你想把它作为一个答案,因为它确实回答了这个问题吗?这是你的想法SnareChops-用上面的答案替换你的答案,我将删除我的答案。这是公平的,也是唯一可以做的事情。访问查看类似的方法。尝试解决方案时,请查看上面格式化问题中的控制台错误。非常抱歉,我对dart不太了解,这是有效的JS和TS。如何使用dart通过索引获取密钥?或者可能是
names.keys()[idx]…
?别担心,原理是正确的。请参阅上面问题中更正的省道端口。在这种情况下,Dart中不需要$index。我必须在Dart中找到slice()方法才能应用于大小写。如果没有等效项,我将不得不创建一个进行大小写的管道。再次感谢。啊,你是对的,这是一个更好的方法来实现这一点,也是有效的JS/TS。你想把它作为一个答案,因为它确实回答了这个问题吗?这是你的想法SnareChops-用上面的答案替换你的答案,我将删除我的答案。这是公平的,也是唯一可以做的事情。去看看类似的方法。
///Takes the first letter of [String] key in a [Map], capitalizes it and 
///returns the key value as the capitallized word
@Pipe( name: 'capitalize' )
class CapitalizePipe extends PipeTransform {
  dynamic transform( String value, List args ) {
    StringBuffer buffer = new StringBuffer( );

    List<String> list = value.split( '' );
    if ( value != null ) {
      for ( int i = 0; i < list.length; i++ ) {
        if ( i == 0 ) {
          buffer.write( list[i].toUpperCase( ) );
          continue;
        }

        buffer.write( list[i] );
      }
    }
    return buffer.toString( );
  }
}

  <tbody>
  <tr *ngFor = "#name of names?.keys">
    <td class = "mdl-data-table__cell--non-numeric">{{name | capitalize}}</td>
    <td>
      {{names[name]}}
    </td>
  </tr>
  </tbody>
<tbody>
  <tr *ngFor="#name of names?.keys">
    <td class="mdl-data-table__cell--non-numeric">{{name}}</td>
    <td>{{names[name]}}</td>
  </tr>
</tbody>