【问题标题】:How use ng-repeat for plain text AngularJS如何将 ng-repeat 用于纯文本 AngularJS
【发布时间】:2014-07-12 22:55:18
【问题描述】:

我知道类似的东西会起作用:

<span ng-repeat="item in items">{{item.name}}</span>

我怎样才能对纯文本做同样的事情?

我想以纯文本将{{items[0].name}}, {{items[1].name}}, {{items[2].name}} 附加到我的html :)

就我而言,在输入中:&lt;input type="hidden" name="items" value="{{items[0].name}},{{items[1].name}},{{items[2].name}}"/&gt;

谢谢大家!

【问题讨论】:

  • 我认为您不能在隐藏字段中同时传递多个值:stackoverflow.com/questions/3073001/…
  • 这是一个独特的价值,由昏迷 :)
  • 如果你需要知道通过ng-repeat取值时传递的“key”,保留原来的语句,试试{{$index}}。
  • "独特的价值,被昏迷所喷发" -> 不是很优雅...你想达到什么目的?根据用户的选择传递 x 值?
  • 对于input只需使用ng-model,追加可以使用split()创建可以贯穿ng-repeat的数组

标签: javascript angularjs angularjs-scope angularjs-ng-repeat


【解决方案1】:

我会使用简单的控制器功能:

<input name="items" value="{{commas(items)}}">

//in your controller.js
$scope.commas = function commas(items) {
    return items.join(",");
}

另一个选项可能是过滤器:

<input name="items" value="{{ items | commas }}">

//in your javascript
myApp.filter("commas", function () {
  return function commasFilter(list) {
    return list.join(",");
  }
});

但一般来说,保持模板中的逻辑简单明了,当内置的逻辑不够用时,可以使用控制器、过滤器或指令。

【讨论】:

  • 两种解决方案都很酷。但是我是否应该认为没有其他方法,例如使用没有 HTML 标记的 ng-repeat 指令?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-22
  • 1970-01-01
  • 2013-11-23
相关资源
最近更新 更多