$scope变量在视图中没有更新。

13 浏览
0 Comments

$scope变量在视图中没有更新。

我有以下的代码片段,\n

  
错误的路由路径 子标题
S: {{val.source.ip}} D: {{val.destination.ip}}

\n它运行良好,loadTraceroutePath属于另一个控制器(我们称之为X),但不知何故ng-click起作用,console.log打印出了正确的metadata值。\n然而,在控制器X中,我有以下代码,\n

$scope.loadIndividualTraceroutePath = function (metadataKey) {
   $scope.noOfResults = 1;
}

\n在html中,我到处都有{{noOfResults}}。有些能够显示1,而有些则不能。我已经添加了ng-controller指令并指向控制器X,但{{noOfResults}}不显示。\n如何使{{noOfResults}}在HTML的任何部分都显示?\n编辑:我已经添加了HTML。\n

         可视化
          布局
      
          
          {{noOfResults}}
      
    

\n第一个问题中的ng-click在此之下。

0
0 Comments

$scope变量在视图中没有更新的问题出现的原因是在ng-click指令中传递参数的方式不正确,解决方法是修改ng-click指令中的参数传递方式,并且移除不必要的控制器声明。

具体来说,问题的原因是在ng-click指令中传递的参数对象没有正确使用,应该传递val对象而不是val.metadata。解决方法是修改ng-click指令中的参数传递方式,将val对象传递给loadTraceroutePath函数。

另外,代码中还存在一个多余的分号,需要将其删除。

此外,建议在视图中只声明一个控制器,而不是多个控制器,可以将函数定义在一个控制器中,然后移除其他多余的控制器声明。

最后,需要注意在视图中正确显示noOfResults变量的位置,可以将其放置在

标签中。

如果在一个HTML页面中有多个控制器,可以将它们全部声明在标签中,然后在需要使用控制器的标签中进行声明。

修复后的代码如下:


$scope.loadIndividualTraceroutePath = function(metadataKey) {
   $scope.noOfResults = 1;
}
{{noOfResults}}

总之,通过修改ng-click指令中的参数传递方式,移除多余的控制器声明,并将正确的变量位置放置在视图中,可以解决$scope变量在视图中没有更新的问题。

0