Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ng repeat在从控制器渲染行之前显示一行_Javascript_Angularjs - Fatal编程技术网

Javascript ng repeat在从控制器渲染行之前显示一行

Javascript ng repeat在从控制器渲染行之前显示一行,javascript,angularjs,Javascript,Angularjs,我有一个后端服务,它将数据发送到$scope变量。我使用此变量使用ng repeat填充表中的行 加载页面时,浏览器上显示一行,页面加载完成后,该行突然消失。稍后,当检索到我的数据时,将按预期填充所需的行 我想删除第一行,因为它看起来不好 代码如下: ... <tr ng-repeat="row in rows"> <td ng-bind="row.vname"></td> <td ng-bind="row.mname"></

我有一个后端服务,它将数据发送到
$scope
变量。我使用此变量使用
ng repeat
填充表中的行

加载页面时,浏览器上显示一行,页面加载完成后,该行突然消失。稍后,当检索到我的数据时,将按预期填充所需的行

我想删除第一行,因为它看起来不好

代码如下:

...
<tr ng-repeat="row in rows">
    <td ng-bind="row.vname"></td>
    <td ng-bind="row.mname"></td>
    <td ng-bind="row.time_start"></td>
    <td ng-bind="row.time_end"></td>
    <td ng-if="row.progress!='-1'">
        <p class="btn-info btn-rounded" style="text-align: center; font-weight: bold;"> Complete</p>
    </td>
    <td ng-if="row.progress=='-1'">
        <p class="btn-danger btn-rounded" style="text-align: center; font-weight: bold;"> Failed</p>
    </td>
</tr>
</tbody>
...
。。。
完成

失败

...

开头显示的行显示两个四舍五入的按钮,文本为“完成”和“失败”

您看到的行是在angularjs初始化之前构建的行

你需要把它藏起来

ng斗篷将隐藏它,直到angular启动并运行

像这样:

<tr ng-repeat="row in rows" class="ng-cloak">
    <td ng-bind="row.vname"></td>
    <td ng-bind="row.mname"></td>
    <td ng-bind="row.time_start"></td>
    <td ng-bind="row.time_end"></td>
    <td ng-if="row.progress!='-1'">
        <p class="btn-info btn-rounded" style="text-align: center; font-weight: bold;"> Complete</p>
    </td>
    <td ng-if="row.progress=='-1'">
        <p class="btn-danger btn-rounded" style="text-align: center; font-weight: bold;"> Failed</p>
    </td>
</tr>
[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
  display: none !important;
}

另一个建议是在tr标记上添加属性ng if=“row”

<tr ng-repeat="row in rows" ng-if="row">
...

...

当应用程序刚刚启动时,请确保您的
$scope.rows=[]
loads@manish
$scope.rows
在从后端呈现数据的函数中初始化。空白行不显示数据从<代码> $范围。行< /代码>添加<代码>类=“NG披风”< /代码>到<代码> TR < /代码>不能解决问题。空白行仍在显示。请确保您的CSS中有CssPosid CSS类。代码>[ng\:斗篷],[ng斗篷],[data ng斗篷],.ng斗篷,.x-ng斗篷{显示:无!重要;}有时您必须自己添加它。工作正常。你也可以把这个加到你的答案上。很好。我刚刚加了。