angular.js - AngularJS ng-show 值已经是true了,但是还显示ng-hide

浏览:39日期:2023-01-07

问题描述

用ng-show来控制一个弹出框

在一个button的click事件中更改value的值(用到了jQuery Ajax)

通过console.log看到value的值确实已经变成true了,但是点击按钮,没有弹出订单异常的框,第二次点击就能弹出来了为什么需要执行两次才能弹出?把$scope.value = true;放在Ajax外面是可以一次就弹出框的。把$scope.valuer换成$rootScope也不行。求解。

问题解答

回答1:

$scope.RealTimeUpdate = function (obj) { var thisRurl = ’/MFreeXFapi/student/RealTimeUpdate’; var rturl = $(obj).attr(’rthref’); $http({method: ’POST’,url: thisRurl,transformRequest: $.param,headers: { ’Content-Type’: ’application/x-www-form-urlencoded;’ },data: ’ProductId=’ + $rootScope.paycourseId + ’&studentid=’ + $scope.userData.rowId + ’&orderid=’ + $scope.payood, }).success(function (data) {if (data != true) { $scope.orderError = true; console.log($scope.orderError)} else { window.location.href = rturl} })};

jq的ajax不会触发ng的检查机制 需要使用$http代替 或者改变model后使用$scope.$apply

http://stackoverflow.com/ques...

相关文章: