angularjs ng-show具有相同模型的隐藏div中的延迟

时间:2016-01-07 19:40:51

标签: javascript html angularjs

我的代码如下:

<button class="btn-border-blue" ng-show="!hasCouponCode" ng-click="hasCouponCode = true;">Cupom</button>
<div class="form-inline-cupom" ng-show="hasCouponCode">
    <input type="text" ng-model="couponCode" placeholder="Código do cupom">
    <button class="btn-green" ng-click="addCoupon()">Add cupom</button>
</div>

当我点击按钮时,它会更改模型值&#34; hasCouponCode&#34;,隐藏按钮并显示div元素,但是有延迟,视觉效果不好。

有没有办法解决这个问题?

谢谢!

2 个答案:

答案 0 :(得分:0)

我创建了这个代码段并且运行得非常快。我想你可能在addCoupon()方法中有一个服务器回调,它会减慢它的速度。您应该提高服务器端代码的性能。如果你不能,那么在视图中添加一个加载屏幕就好了,这样用户就知道在等待时有些东西正在工作。我希望它有所帮助。

&#13;
&#13;
src/IceTea.cpp:132:18: error: no matching member function for call to 'setupCli'
    return this->setupCli(argc, argv);
           ~~~~~~^~~~~~~~
src/IceTea.h:44:13: note: candidate function not viable: no known conversion from 'char *[argc]' to 'const char **' for 2nd argument
    IceTea* setupCli(int, const char**);
            ^
src/IceTea.cpp:124:17: note: candidate function not viable: requires single argument 'strings', but 2 arguments were provided
IceTea* IceTea::setupCli(vector<string> strings) {
&#13;
(function(angular) {
  var app = angular.module('myApp', []);

  var Maincontroller = function($scope) {
    $scope.addCoupon = function() {
      $scope.mycoupon = $scope.couponCode;
    }
  };

  app.controller("maincontroller", ["$scope", Maincontroller]);
}(angular));
&#13;
&#13;
&#13;

答案 1 :(得分:0)

问题可以通过使用外部div围绕您的按钮,然后使用该div中的ng-show来解决。像这样:

<div ng-show="!hasCouponCode">
<button class="btn-border-blue" ng-click="hasCouponCode = true;">Cupom</button>
</div>

像这样,您也可以将它应用于其余代码。