需要ng-hide ng-show澄清

时间:2014-01-31 19:35:14

标签: javascript angularjs

我的单页客户端网络应用程序中有两个表单,位于角度js / javascript

我有两种形式

<form class="simple-form" ng-submit="createuser()">
Log in As: 
  <input type="text" ng-model="name.username">
  <input type="submit"/>
</form>

createuser()方法基本上是将对象推送到对象数组中。

$scope.createuser = function createuser() {
        var safer = angular.copy($scope.name);  
        $scope.users.push(safer);};

$scope.users = [
    {'username': 'John'},
    {'username': 'Dan'},
    {'username': 'Judy'}, 
    {'username': 'Michael'},
    {'username': 'Rebecca'},
    {'username': 'Macy'},
    {'username': 'Ross'}
    ];

我有另一个表单是一个消息容器,基本上我希望只有在创建新用户时才显示提交消息

<div class="message_container">
    <p ng-repeat="message in messages">
        {{message.post}}
    </p>
    <form class="post-form" ng-submit="postmessage()" ng-show="createuser()">
        <input type="text" ng-model="message.post">
        <input type="submit"/>
    </form>
</div>

我正在尝试使用ng-hide和ng-show。 我在想这个表格应该在ng-submit =“createuser()”时显示 createuser()最终创建了一些空白的用户,因为它是一个方法并且正在寻找表达式。我应该使用ng-show和ng-hide,也许我应该使用别的东西。

1 个答案:

答案 0 :(得分:2)

ng-showng-hide需要一个表达式来确定其状态。您可以在创建新用户时将标记设置为true

$scope.createuser = function createuser() {
    var safer = angular.copy($scope.name);  
    $scope.users.push(safer);
    $scope.isNewUser = true;
}

<form class="post-form" ng-submit="postmessage()" ng-show="isNewUser">