Angularjs 基于$scope变量值显示元素

Angularjs 基于$scope变量值显示元素,angularjs,ng-show,Angularjs,Ng Show,我是AngularJS的新手,我正在尝试找出如何基于变量值显示HTML元素 我试过这个: <div id="checkoutForm" class="form" ng-show="$scope.matchCount==1"> </div> 该函数按预期启动,我可以看到计数并验证$scope.matchCount是否正确地使用记录计数更新,但它根本不会影响UI 我缺少什么?带有ng show=“matchCount==1”的div超出了VisitorLogControll

我是AngularJS的新手,我正在尝试找出如何基于变量值显示HTML元素

我试过这个:

<div id="checkoutForm" class="form" ng-show="$scope.matchCount==1">
</div>
该函数按预期启动,我可以看到计数并验证$scope.matchCount是否正确地使用记录计数更新,但它根本不会影响UI


我缺少什么?

带有
ng show=“matchCount==1”
div
超出了
VisitorLogController的
范围

范围内移动
ng show
应该可以使其工作

<div ng-controller="VisitorLogController">
    <div id="visitorForm" class="form">
        <input id="firstNameTb" ng-model="formData.FIRSTNAME" placeholder="@Model.FirstNameStr" ng-blur="findUser()" class="form-control" value="{{FIRSTNAME}}"/>
        <input id="lastNameTb" ng-model="formData.LASTNAME" placeholder="@Model.LastNameStr" ng-blur="findUser()" class="form-control" value="{{LASTNAME}}" />
        <input id="companyTb" ng-model="formData.COMPANYNAME" placeholder="@Model.CompanyStr" ng-blur="findUser()" class="form-control" value="{{COMPANYNAME}}" />
        <input id="codeTb" ng-model="formData.CHECKCODE" placeholder="@Model.CodeString" title="@Model.CodeStringDesc" ng-blur="findUser()" class="form-control" />
    </div>

    <div id="checkoutForm" class="form" ng-show="matchCount==1">
        <h3>@Html.Raw(@Model.RecordFoundStr)</h3>
    </div>
</div>

@Html.Raw(@Model.RecordFoundStr)

在您的
承诺解决后,
$scope.matchCount
的值是多少?@PatrickReck,我不知道这是什么意思。请原谅我的无知,我对AngularJS是新手。当它执行
data.count==1
求值时,它被正确设置为1。在
success
函数中放入
console.log(data.count)
,并将结果发布到此处
data.count
$scope.matchCount
在控制台中显示1。那么,我是否正确引用了
ng show
属性中的变量?我是否必须将该值存储在隐藏输入中?或者,用其他方法?它的作用类似于
ng show
在功能完成时松开调整值?所有代码运行后,
$scope.matchCount
未定义。就是这样。谢谢我觉得这很简单。
<div id="visitorForm" class="form" ng-controller="VisitorLogController">
    <input id="firstNameTb" ng-model="formData.FIRSTNAME" placeholder="@Model.FirstNameStr" ng-blur="findUser()" class="form-control" value="{{FIRSTNAME}}"/>
    <input id="lastNameTb" ng-model="formData.LASTNAME" placeholder="@Model.LastNameStr" ng-blur="findUser()" class="form-control" value="{{LASTNAME}}" />
    <input id="companyTb" ng-model="formData.COMPANYNAME" placeholder="@Model.CompanyStr" ng-blur="findUser()" class="form-control" value="{{COMPANYNAME}}" />
    <input id="codeTb" ng-model="formData.CHECKCODE" placeholder="@Model.CodeString" title="@Model.CodeStringDesc" ng-blur="findUser()" class="form-control" />
</div>

<div id="checkoutForm" class="form" ng-show="matchCount==1">
    <h3>@Html.Raw(@Model.RecordFoundStr)</h3>
</div>
function VisitorLogController($scope, $http) {

    $scope.matchCount = null;
    $scope.findUser = function () {
        $http({
            method: 'POST',
            url: rootUrl + "VisitorLog/Check",
            data: $.param($scope.formData),
            headers: { 'Content-type': 'application/x-www-form-urlencoded' }
        }).success(function (data) {
            $scope.matchCount = data.count;
            if (data.count == 1) {
                $scope.FIRSTNAME = data.visitors[0].FirstName;
                $scope.LASTNAME = data.visitors[0].LastName;
                $scope.COMPANYNAME = data.visitors[0].CompanyName;
            }
            $scope.message = data.message;
        });
    }
}
<div ng-controller="VisitorLogController">
    <div id="visitorForm" class="form">
        <input id="firstNameTb" ng-model="formData.FIRSTNAME" placeholder="@Model.FirstNameStr" ng-blur="findUser()" class="form-control" value="{{FIRSTNAME}}"/>
        <input id="lastNameTb" ng-model="formData.LASTNAME" placeholder="@Model.LastNameStr" ng-blur="findUser()" class="form-control" value="{{LASTNAME}}" />
        <input id="companyTb" ng-model="formData.COMPANYNAME" placeholder="@Model.CompanyStr" ng-blur="findUser()" class="form-control" value="{{COMPANYNAME}}" />
        <input id="codeTb" ng-model="formData.CHECKCODE" placeholder="@Model.CodeString" title="@Model.CodeStringDesc" ng-blur="findUser()" class="form-control" />
    </div>

    <div id="checkoutForm" class="form" ng-show="matchCount==1">
        <h3>@Html.Raw(@Model.RecordFoundStr)</h3>
    </div>
</div>