Angularjs布尔值返回控制器行为的值

时间:2014-09-24 09:54:37

标签: asp.net angularjs

我是angularjs的新手,我试图让asp.net web api与angularjs一起工作。

为了进行测试,我的域名webapi将始终向angular Checkdomain发送false值并将其分配给$ scope.domainValid

$scope.checkDomain = function (domain, tld) {    

        $http.get(checkdomainUrl)
        .success(function (data) {

            $scope.domainValid = data;  >> view shows up when i hard code $scope.domainValid=false;
        })
        .error(function (error) {              

        });

    }

在我看来:

    {{domainValid}}  >> always show correct value(false), so the data return from webapi works
<div class="dkExistingInfo" ng-show="!domainValid && domainValid!=null">
    <span>Tên miền {{newDomain}} đã có người đăng ký. Vui lòng chọn tên khác</span>
</div>

为什么div class =“dkExistingInfo”永远不会出现$ scope.domainValid = data;但适用于$ scope.domainValid = false;

我的控制器/视图发生了什么变化?

1 个答案:

答案 0 :(得分:0)

返回数据变量是字符串的类型而不是布尔值。

<强>方法

  1. 在控制器成功时将变量转换为布尔值。

    data = (data === 'true') ? true : false;
    $scope.domainValid = data;
    
    1. 您必须在角度js视图中将其检查为字符串。对于此用途 ng-If 指令:

      <div ng-if == "domainValid == 'true'">
           <!-- Your code -->
      </div>
      <div ng-if == "domainValid == 'false'">
         <!-- Your code -->
      </div>