【问题标题】:Insert $index into name attribute in an ng-repeat angularJS将 $index 插入到 ng-repeat angularJS 中的名称属性中
【发布时间】:2016-06-20 12:34:09
【问题描述】:

为了让 ASP.NET MVC 正确绑定表单帖子上的项目列表,name 属性类似于

name='Show.Days[0].OpenHour'
name='Show.Days[1].OpenHour'

用户可以在表单字段中输入节目的天数,然后更新模型和 ng-repeat。 我希望能够在名称字段中插入适当的索引,例如

name='Show.Days[$index].OpenHour'

角度可以吗?

【问题讨论】:

  • 应该可以,你试过了吗?
  • @SatejS 我做到了,当我检查 Chrome 中的元素时,它只显示 [$index]
  • 你试过name="{{Show.Days[$index].OpenHour}}"
  • @AndrésEsguerra 刚刚尝试过,吐出没有值的 name 属性
  • @AndrésEsguerra 啊,但你引导我走上正确的道路 name="Show.Days[{{$index}}].OpenHour" 有效。如果您想将其发布为答案,我会将其标记为正确答案。如果你有野心,我还有另一个角度问题over here :)

标签: javascript angularjs


【解决方案1】:

您似乎忘记在视图中用{{}} 包装表达式。你需要这样的东西吗?

var app = angular.module('myApp', []);

app.controller("myCtrl", function ($scope) {
    $scope.Show = {
      Days: [
        {OpenHour: '8am'},
        {OpenHour: '10am'}
      ]
    };
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.min.js"></script>

<div ng-app="myApp">
  <div ng-controller="myCtrl">
    <div ng-repeat="day in Show.Days">
      <input type="text" ng-model="Show.Days[$index].OpenHour" name="{{Show.Days[$index].OpenHour}}">
    </div>
  </div>
</div>

还是这样?

var app = angular.module('myApp', []);

app.controller("myCtrl", function ($scope) {
    $scope.Show = {
      Days: [
        {OpenHour: '8am'},
        {OpenHour: '10am'}
      ]
    };
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.min.js"></script>

<div ng-app="myApp">
  <div ng-controller="myCtrl">
    <div ng-repeat="day in Show.Days">
      <input type="text" ng-model="Show.Days[$index].OpenHour" name="Show.Days[{{$index}}].OpenHour">
    </div>
  </div>
</div>

【讨论】:

  • 第二个,name="Show.Days[{{$index}}].OpenHour" 有效
  • @MichaelTranchida 看来我来晚了
  • 必须像兔子一样快,不过谢谢你:)
【解决方案2】:

使用name="Show.Days[{{$index}}].OpenHour"。有了这个,AngularJS 评估 $index 并将其替换为正确的值。

【讨论】:

    猜你喜欢
    • 2012-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-15
    • 1970-01-01
    • 2017-12-22
    • 1970-01-01
    • 2017-05-16
    相关资源
    最近更新 更多