0
我想在表格中使用ng-repeat,并对文件夹树结构进行排序。所以,当我点击特定的行,并根据具体的价值,我通过“onclick”(ng-click似乎没有工作)调用函数后更新值列表获取JavaScript中的更新,但不反映在HTML。此外,该行甚至不显示在HTML中。 代码的某些部分是如下:动态列表更新ng-repeat
<tr id="parents" ng-repeat="dir in cachedDirectoryInfo.filesInPath track by dir.name">
<td>{{dir.name}}</td>
<td>{{dir.permission}}</td>
<td>{{dir.modificationTime | date:'yyyy-MM-dd HH:mm'}}</td>
<td>{{dir.ownerName}}</td>
<td>{{dir.groupName}}</td>
</tr>
<tr ng-repeat="child in directoryInfo.filesInPath track by child.name">
<td>
<a id="mylink" datamylink="{{child.name}}" onclick="var myscope=angular.element($('#importCtrlEl')).scope(); myscope.hello(myscope.selectedPath, this)">{{child.name}}
</a>
</td>
<td>{{child.permission}}</td>
<td>{{child.modificationTime | date:'yyyy-MM-dd HH:mm'}}</td>
<td>{{child.ownerName}}</td>
<td>{{child.groupName}}</td>
</tr>
虽然在JavaScript
$scope.hello = function (path, event) {
Inside promise{
$scope.cachedDirectoryInfo = $scope.directoryInfo;
$scope.directoryInfo = hdfsResp.directoryInfo;
}
}
我看了这里的一些解决方案,它说,使用$scope.$apply
,这并不为我工作。因为它给我错误“错误:$ digest已在进行中”,如果我做$scope.$$phase || $scope.$apply
它不会被执行。正如你所看到的,我也尝试了ng-repeat中的track by
,但没有结果。
有没有办法通过jQuery来做到这一点? 我的选择是再次替换并编译<tr>
。
任何建议或解决?
PS:这是所有的jQuery步骤,这可能是一个原因。