2016-07-13 14 views
0

プロジェクトでAngularを使用していますが、問題が発生しました。
フォームを送信した後にng-click="check=true"を使用した場合、divはまだ表示されています。 ng-click="alterCheck()"を使用するか、またはng-submit式にcheck=trueを追加することでこの問題を解決できます。だから、この問題の潜在的な理由は何ですか?ng-click = "check = true"とng-click = "alterCheck()"の違いは何ですか?

+0

divやフォームを非表示にしたいのですか? –

+0

@gayathri div of course – jasonxia23

+0

Wait ...あなたの 'ng-show'条件は' check'なので 'check'が' true'のときに表示されますが、何が問題なのですか? – Icycool

答えて

0
<div ng-show="check && form.$invalid"></div> 
<!-- <form name="form" ng-submit="check=true && init()"> --> 
<form name="form" ng-submit="init()"> 
    <input type="text" ng-model="text" required/> 
    <!--  <input type="submit" ng-click="alterCheck()"/> --> 
    <input type="submit" ng-click="check=true"/> 
</form> 

非表示および参照のための条件を

HTML

<form name="form" > 
      <input type="text" ng-model="text" required /> 
      <input type="submit" ng-click="do_something()" ng-disabled="form.$invalid"/> 
     </form> 
    <div ng-hide="!button_clicked && !form.$invalid" > Invalid Div </div> 

JS

var app = angular.module('plunker', []); 

app.controller('MainCtrl', function($scope) { 
    $scope.name = 'World'; 
    $scope.button_clicked = true; 
    $scope.do_something = function() { 
     alert("Clicked!"); 
     $scope.button_clicked = false; 

    } 
}); 

をチェクhttps://plnkr.co/edit/SIi5hVY3v4NO5MRoNwEL?p=preview

+0

この問題にお答えしてうれしいです。私は 'do_something()'のような関数を使ってこの問題を解決できることを知っています。しかし、なぜ 'ng-click =" check = true "'がこの問題を解決できないのか混乱しています。 – jasonxia23

+0

あなたのフルコードを投稿できますか –

関連する問題