javascript - angularjs 中的 ng-show 不适用于 span

标签 javascript angularjs twitter-bootstrap font-awesome angularjs-ng-show

我在 Angularjs 中遇到了 ng-show 的问题。我有一个文本框,用户可以在其中输入服务器的主机名。输入此信息后,服务器的主机名将发送到后端系统,以验证服务器是否存在。我目前正在使用 bootstrap、font awesome 和 angularjs 在我的文本框中显示一个加载图标。当我收到来自服务器的响应时,我将 isLoaded 变量更改为 true,我希望加载图标停止显示。但是,这不会发生。无论图标最初设置为何种状态,此后都不会改变。

这是我的问题的简化版本。 Plunker Link Here

HTML

<form>
        <div class="form-group has-feedback">
          <label for="server">Server:</label>
          <input type="text" id="server" class="form-control" placeholder="server host name">
          <span ng-show="{{testVm.state}}" class="fa fa-spinner fa-spin form-control-feedback" aria-hidden="true"></span>          
          <button class="btn btn-primary" ng-click="testVm.turnOn()">Activate</button>
          <button class="btn btn-primary" ng-click="testVm.turnOff()">Deactivate</button>
        </div>
      </form>

Angular 代码:

angular
  .module('test',[])
  .controller('TestController',TestController);
function TestController() {
  var testVm = this;
  testVm.turnOn = turnOn;
  testVm.turnOff = turnOff;
  testVm.state = false;
  function turnOn() {
    testVm.state = true;
  }
  function turnOff() {
    testVm.state = false;
  }

感谢任何帮助。谢谢。

最佳答案

您使用 ng-show 的方式不对。您不需要双花括号,因为您没有计算变量的字符串值。

<span ng-show="testVm.state" class="fa fa-spinner fa-spin form-control-feedback" aria-hidden="true"></span>

Fixed plunker

关于javascript - angularjs 中的 ng-show 不适用于 span,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39314523/

相关文章:

javascript - AngularJS 工厂/过滤器未正确更新

angularjs - AngularJS 项目中的 Grunt Karma 单元任务失败

javascript - 使用 vue.js 更改 v-tab 中变量的标题

javascript - 为什么在运行时单击图像时单击事件不起作用?

javascript - 事件有时不触发

javascript - AngularJS ng-if 和 ng-class 切换。将内联代码转换为 ng-click 的函数

html - 使用推/拉和 col-md-12 在 Bootstrap 4 中进行列排序

javascript - 在函数声明之前使用否定的目的是什么?

javascript - 设置自己的 Openlayers Proxyhost

javascript - 使用 json 创建动态 html 花费太多时间