2014-09-24 19 views
0

我是angularjs的新手,我试图让asp.net web api与angularjs一起工作。Angularjs boolean返回值到控制器行为

为了进行测试,我的域名的WebAPI总是假值发送到角Checkdomain并将其分配给$ 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

检查您的变量类型的数据。它的字符串不是布尔值? – 2014-09-24 09:58:47

+0

我猜webapi以json格式返回(false)为字符串。谢谢。 – 2014-09-24 10:14:30

+0

已添加回答检查它 – 2014-09-24 10:16:29

回答

0

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

方法:

  1. 转换您的变量为布尔在控制器成功。

    data = (data === 'true') ? true : false; 
    $scope.domainValid = data; 
    

OR

  • 你必须检查它作为角JS视图的字符串。对于这种使用ng-If指令:

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