AngularJs ui bootstrap 使用 ng-repeat 和 id 打开日历

AngularJs ui bootstrap using ng-repeat and id's to open calendar

我目前遇到 angular 的问题。首先请注意,我对 angular 不是很熟悉,我四处搜索并尝试了许多不同的解决方案,但无法真正找到解决问题的方法。

这是我的 html(每个 item.Id 都是独一无二的):

 <div ng-repeat="item in employment.Items">
                <div class="form-group">
                    <label for="inputFromEmp" class="col-sm-2 control-label">From</label>
                    <div class="col-sm-3">
                        <div class="date-picker input-group dp-blue" ng-class="{ 'is-opened': '{{item.Id}}' == true}">
                            <span class="input-group-addon"><i class="zmdi zmdi-calendar ma-icon"></i></span>
                            <div class="fg-line" ng-class="{ 'fg-toggled': '{{item.Id}}' == true }">
                                <input ng-click="open($event, '{{item.Id}}')" id="inputFromEmp" type="text" class="form-control" datepicker-popup="dd-MMMM-yyyy"
                                       show-weeks="false" ng-model="item.From" is-open="item.Id" min-date="null" datepicker-options="dateOptions"
                                        close-text="Close" date-disabled placeholder="Select Date" />
                            </div>
                        </div>
                    </div>

这是我们关心的 html 输出:

<div class="date-picker input-group dp-blue" ng-class="{ 'is-opened': '3017' == true}">
                            <span class="input-group-addon"><i class="zmdi zmdi-calendar ma-icon"></i></span>
                            <div class="fg-line" ng-class="{ 'fg-toggled': '3017' == true }">
                                <input ng-click="open($event, '3017')" id="inputFromEmp" type="text" class="form-control ng-pristine ng-untouched ng-isolate-scope ng-invalid ng-invalid-date" datepicker-popup="dd-MMMM-yyyy" show-weeks="false" ng-model="item.From" is-open="item.Id"

您可以在上面看到 is-open"item.Id" 不是来自模型。我也试过 is-open="{{item.Id}}" 并且它爆发了。我也做了 is-open="'{{item.Id}}'" 它有效并打印出 is-open="'3017'",但问题是 is-open 不接受那种格式,所以它仍然会中断。 让它以这种方式工作的唯一方法是打印 is-open="3017" 到目前为止我还无法做到。

非常感谢任何帮助。

我确实通过使用肮脏的技巧修复了它...我正在通过 javascript.

执行 setAttribute('is-open', value)

我会把它留在这里以防其他人使用它。