我正在使用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
答案 0 :(得分:1)
你不应该将AngularJS代码与jQuery代码混合使用。而不是使用$(“#imgLoading”)。show(),你应该在ID为imgLoading的元素中使用ng-show =“model.isLoading”。这意味着您应该隐藏或显示基于模型状态的内容。
考虑到您要根据运行异步的不同函数显示加载图像,您应该使用两个变量进行ng-show。像这样:
ng-show="model.isLoading || model.isLoadingOtherStuff"
这样,在两者都设置为false之前,将显示加载。