GVKun编程网logo

javascript – 如何在Angular js中加载时隐藏元素(angularjs控制按钮显示隐藏)

15

在这篇文章中,我们将为您详细介绍javascript–如何在Angularjs中加载时隐藏元素的内容,并且讨论关于angularjs控制按钮显示隐藏的相关问题。此外,我们还会涉及一些关于angular

在这篇文章中,我们将为您详细介绍javascript – 如何在Angular js中加载时隐藏元素的内容,并且讨论关于angularjs控制按钮显示隐藏的相关问题。此外,我们还会涉及一些关于angularjs – 隐藏角括号直到javascript加载、javascript – AngularJS不会在浏览器重新加载时运行、javascript – 不要在隐藏元素中加载图像、javascript – 克隆angularjs中的元素的知识,以帮助您更全面地了解这个主题。

本文目录一览:

javascript – 如何在Angular js中加载时隐藏元素(angularjs控制按钮显示隐藏)

javascript – 如何在Angular js中加载时隐藏元素(angularjs控制按钮显示隐藏)

我在我的角度应用程序中定义了一个错误横幅,它应该只在触发错误事件时才可见,并且在页面加载时它应该被隐藏.

这是我的玉代码:

div.container.content(ng-init='root.error.show = false')
    div.col-md-12.error-container.ng-cloak(ng-show='root.error.show')
      div.alert.alert-danger.alert-dismissible(role='alert')
        button.close(type='button')
          span(aria-hidden='true',ng-click='root.error.show = !root.error.show') ×
          span.sr-only Close
        p {{ root.error.message }}

我的控制器

exports.RootCtrl = function RootCtrl($scope,$log) {
  var self = this;
  this.error = {
    show: false,message: 'Oups,something wrong just happend'
  }

  $scope.$on('error',function(event,data) {
    self.error.show = true;
    self.error.message = data;
  })
}

我的问题是在加载角度时,横幅是{{root.error.message}}可见的错误消息.
我尝试过使用ng-cloak(body(ng-cloak))和ng-init来隐藏它,但它不起作用.

我相信我可以调整css来播放显示属性,但这会非常混乱.

解决此问题的常见最佳做法是什么?

解决方法

根据AngularJS网站( https://docs.angularjs.org/api/ng/directive/ngCloak),解决方案是以下CSS:

[ng\:cloak],[ng-cloak],.ng-cloak {
  display: none !important;
}

angularjs – 隐藏角括号直到javascript加载

angularjs – 隐藏角括号直到javascript加载

我有一点点像 HTML
<phttps://www.jb51.cc/tag/nor/" target="_blank">noresults">{{numberOfContacts}} Results Are Available</p>

直到Angular加载才能隐藏{{numberOfContacts}}}所以只会说结果是可用的

我似乎有一些解决方案,如隐藏整个身体,直到Angular加载,但我宁愿不这样做,如果可能的话.

是的,使用 ng-cloak.只需将class =“ng-cloak”或ng-cloak添加到这样的元素

使用指令< divng-cloak>< / div>

使用class< div class =“ng-cloak”>< / div>

它只是一组CSS规则,显示:none!important,而Angular已经渲染了DOM,它会删除ng-cloak,因此元素是可见的.

javascript – AngularJS不会在浏览器重新加载时运行

javascript – AngularJS不会在浏览器重新加载时运行

我有一个新项目,其中包含以下组件:

> Node.js(v0.10.37)
>表达微框架
>玉石模板发动机
> Angular.js(最新)
>材料设计库(material.angularjs.org)
> Jquery

我在浏览器重新加载时遇到问题(按下浏览器刷新按钮).我没有使用任何Angular.js路由功能.我正在使用Express路由器,每个页面都有一条路由.

当我尝试刷新时,使用这些组件的页面构建,有时(20次重新加载中的1次)AngularJS只是在没有任何控制台错误的情况下运行.

当我在以下路线之间导航时,问题更为常见:

我在localhost:3000 / index,我进入localhost:3000 / about

在这种情况下更有可能发生此问题.

编辑:我没有使用任何AngularJS路由功能.

编辑:我还测试了DOMContentLoaded包装解决方案.

编辑:我附加了一个plunker但问题没有重现.我认为这也与服务器有关.这个掠夺者真的很接近现实.

ng-app="Starterapp"
See the plunker :)

编辑:http://plnkr.co/edit/Vi1AQxNxJTDBf4B1ZEhr?p=preview

编辑:如果你在plunker上输入错误请告诉我.

编辑:我也尝试激活:$locationProvider.html5Mode(true);

编辑:我还发现,当服务器和计算机(在localhost上运行)真的很紧张时会发生这种情况. (82%RAM – 1个cpu核心,99%)

我还跟踪了请求,我发现文件在主要请求上正确加载,但在Angular(Ajax请求)中完成的请求不会触发.

我还安装了一些Chrome AngularJS调试插件,当发生这种情况时它也不会运行.

这有时发生在我的所有页面上,因此我认为某些代码不会有用.

为了解决这个问题,我再次重新加载,有时我会重新加载2次以启动Angular.JS.

这是以下情况:

什么时候工作

界面

WORKING STATE

控制台

WORKING STATE CONSOLE

当它不工作时

界面

NOT WORKING STATE

控制台

NOT WORKING CONSOLE STATE

这真的让我很烦.我会继续调查这个问题,但我真的很感激任何帮助.

解决方法:

Evrika!

我发现了这个问题.谢谢大家的支持.

这是angular.js调试chrome / firefox扩展的一个问题.

Ng-Inspector在每个负载上加载脚本ng-inspector.js,在这个脚本中它是一个处理$state服务的控制器,并声明如何加载用户模块以便将调试数据推送到插件中.

不知何故,这种加载配置与我的加载配置混淆.

代码写得很好,但我没想过这个.

因此,如果您解决此问题,请确保您的调试插件(ng-inspector和angular batarang)不与项目内的业务逻辑交互.

我做了一些压力测试,以确保不再发生此问题.

服务器负载

enter image description here

现在每个人都可以.

javascript – 不要在隐藏元素中加载图像

javascript – 不要在隐藏元素中加载图像

这不是this的重复,因为它也使用document.ready方法,这显然不起作用.

我想避免浏览器加载嵌套在隐藏< div>内的图像(< img>)元素.

所以我尝试了这个,但是javascript执行得太迟了,浏览器已经开始下载不应该的图像了.

  $(document).ready(function() {
    $('div').not(":visible").each(function () {
       $(this).find('img').each(function() {
         $(this).attr("src","");
       });
    });
  });

有一个很好的JavaScript解决方案吗?
或者我必须使用< img srctmp =“....”/>然后通过javascript将srctmp替换为src,用于那些没有嵌套在隐藏的< div>中的图像

最佳答案
您可以使用数据属性而不是src,浏览器仅从src加载图像,因此您可以从每个图像的data-src开始,然后仅将src添加到可见的图像.

HTML:

  

JS:

  $(document).ready(function() {
    $('div').is(":visible").each(function () {
       $(this).find('img').each(function() {
         $(this).attr("src",$(this).data("src"));
       });
    });
  });

javascript – 克隆angularjs中的元素

javascript – 克隆angularjs中的元素

我需要复制一些输入字段以处理来自客户端的数据.我用jQuery http://jsfiddle.net/m7R3f/1/完成了它

HTML:

<fieldset id="fields-list">
<div>
    <div>
        <input type="text"id="input-1" name="input-1">
    </div>
    <div>
        <input type="text"id="date" name="date">
    </div>
    <div>
        <input type="text"id="input-2" name="input-2">
    </div>
</fieldset>
<button id="add">Add</button>

JS

$(document).ready(function ()
{
    $("#add").click(function ()
    {
        $(".entry:first").clone(false).appendTo("#fields-list");
    });
});

但是我刚开始学习Angular,并希望将这些代码转换为Angular.
我已经在stackoverflow中阅读了问题,并在这里找到了带有angularjs的代码:http://jsfiddle.net/roychoo/ADukg/1042/.但是,它似乎仅适用于一个输入字段?我可以使用AngularJS克隆/复制几个输入字段吗? (换句话说:将上面的代码转换为AngularJS版本?)
非常感谢你.

解决方法:

您应该创建一个数组并在HTML中使用ng-repeat.数组中的每个对象都可以包含填充div所需的数据.如果要从三个条目开始,则添加这三个条目的数据.如果你想添加更多,那么只需按下阵列即可.由于Angular的双向数据绑定,一旦元素被推入阵列,您的表单字段就会出现.

有关如何执行此操作的更多详细信息,请查看Angular主页上的待办事项示例.

今天的关于javascript – 如何在Angular js中加载时隐藏元素angularjs控制按钮显示隐藏的分享已经结束,谢谢您的关注,如果想了解更多关于angularjs – 隐藏角括号直到javascript加载、javascript – AngularJS不会在浏览器重新加载时运行、javascript – 不要在隐藏元素中加载图像、javascript – 克隆angularjs中的元素的相关知识,请在本站进行查询。

本文标签: