特定の要素で、要素のng-if
または他の変更プロパティの更新時に隠れ/遷移がスムーズでないことがわかりました。ng-ifダイジェストサイクルがその値を更新するときに滑らかでないジャンプ/トランジションを作成する
たとえば、クリックするとAPI呼び出しが行われ、データが確認され、表示/非表示になるng-if
が更新されます。スクリーンキャストを参照してください:
http://screencast.com/t/sPLxZVetbqYD
button class="buttons purple" ng-if="!question_container.checked_answer
&& (selections.length || question_container.answered)"
ng-click="checkAnswer()">Check Answer</button>
はNGクリックのcheckAnswer()
は、API呼び出しを行うng-if
条件の真の部分を設定します。
$scope.checkAnswer = function() {
verifyAnswer().then(function (res) {
$scope.question_container.checked_answer = res; //will be true or false
私は、これはAPI呼び出しの遅れから明らかであるので、私は二checked_answer
を追加し、直前にボタンを非表示にするには、APIの呼び出しにtrueに設定と仮定しています:
$scope.checkAnswer = function() {
$scope.question_container.checked_answer = true;
verifyAnswer().then(function (res) {
遅延/ちらつきがまだ発生します。ページ上の要素の表示をスムーズにするにはどうすればよいですか?
ローディングスピナーとは考えましたか?ユーザーが回答をクリックすると、約束が解決されるまでボタンを無効にしてスピナーを表示します。クリックするとスピナーを表示/非表示にする「保留中」の状態ができます。 – jamez14