gpt4 book ai didi

javascript - AngularJS ng-show 和 ng-hide 在 $http 调用后不会改变状态

转载 作者:行者123 更新时间:2023-12-03 01:47:57 25 4
gpt4 key购买 nike

我想动态显示REST AngularJS 之后响应数据$http.get()称呼。答案很好 数据绑定(bind) {{showOrderStateTrigger}}{{orderDetails}}仅出于测试目的在调用显示后插入 true以及预期的内容。但是ng-showng-hide没有意识到他们的状况发生了变化。我创建了ng-showng-hide案例只是为了测试两种方法。检查变量undefined或 bool 变量状态。我尝试了$scope.$apply()打电话,但这只会让事情变得更糟。嵌套调用导致异常。谁能帮我解决这个问题吗?

        <script type="text/javascript">
var myApp = angular.module( "myApp", [] );
myApp.controller( "myController", function( $scope, $http )
{
$scope.showOrderDetailsTrigger = false;
$scope.showOrderDetails = function ( id )
{
$http.get( "/WebApplication1/orders/" + id + ".json" )
.then( function ( response ) {
$scope.orderDetails = response.data;
$scope.showOrderDetailsTrigger = true; } );
}
} )
</script>
</head>

<body ng-app="myApp" ng-controller="myController">
<ul>
<c:forEach var="order" items="${orders}">
<li ng-click="showOrderDetails( ${order.id} )">${order.name}</li>
</c:forEach>
</ul>

<div>{{showOrderDetailsTrigger}}</div>
<div>{{orderDetails}}</div>

<div ng-show="{{showOrderDetailsTrigger}}">
<div>ID: {{orderDetails.id}}</div>
<div>Name: {{orderDetails.name}}</div>
</div>

<div ng-hide="{{orderDetails === undefined}}">
<div>ID: {{orderDetails.id}}</div>
<div>Name: {{orderDetails.name}}</div>
</div>

</body>
</html>

最佳答案

许多指令,例如 ng-showng-hideng-if 都期望解析 true 或 false 的表达式,而不是插值表达式

尝试改变

ng-show="{{showOrderDetailsTrigger}}"

ng-show="showOrderDetailsTrigger"

对于更高级的条件,类似于:

ng-if="somVar != 3 && foo=='bar'"

关于javascript - AngularJS ng-show 和 ng-hide 在 $http 调用后不会改变状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50547482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com