在加载程序仍在显示时处理HTTP调用和函数调用

时间:2017-11-09 14:57:34

标签: javascript jquery angularjs

我正在使用angularJS并尝试显示Loader(以确保用户在返回带有结果的HTTP调用之前不会点击任何内容)。

问题是我有一个在其间被调用的函数,这会导致加载器消失,从而使用户能够在函数仍然执行时单击某些东西。

  def my_action
    file = File.read("#{Rails.root}/public/my_json")
    json = JSON.parse(file)

    # response.set_header('Content-Type', 'application/json')
    # response.headers['Content-Type'] = 'application/json'
    # render :text => json, :content_type => 'application/json'
    # render :json => json, :content_type => 'application/json'
    # render json: json, content_type: 'application/json'

    render text: json, content_type: 'application/json'
  end

1 个答案:

答案 0 :(得分:1)

你不应该将AngularJS代码与jQuery代码混合使用。而不是使用$(“#imgLoading”)。show(),你应该在ID为imgLoading的元素中使用ng-show =“model.isLoading”。这意味着您应该隐藏或显示基于模型状态的内容。

考虑到您要根据运行异步的不同函数显示加载图像,您应该使用两个变量进行ng-show。像这样:

ng-show="model.isLoading || model.isLoadingOtherStuff"

这样,在两者都设置为false之前,将显示加载。