Javascript ng显示设置为false不显示';t在页面加载时隐藏元素

Javascript ng显示设置为false不显示';t在页面加载时隐藏元素,javascript,html,angularjs,ng-show,Javascript,Html,Angularjs,Ng Show,我有一段代码,使用Angular 1.3,我希望在加载页面时不显示带有ng show指令的div: <div class="stuff"> <uib-accordion close-others="false"> <div ng-show="element.visible" ng-repeat="element in elements" ng-if="element.active" uib-acc

我有一段代码,使用Angular 1.3,我希望在加载页面时不显示带有ng show指令的div:

       <div class="stuff">
            <uib-accordion close-others="false">
                <div ng-show="element.visible" ng-repeat="element in elements" ng-if="element.active" uib-accordion-group ng-class="element.open? 'colorBackgroundBlue':'black'" class="panel-default yellow" is-open="element.open">
                    <uib-accordion-heading>
                        {{element.title}} ({{element.number}}) 
                    </uib-accordion-heading>
                    <div class="scrollable-accordion" ng-if="element.numberOfElements!=0">
                    </div>
                </div>
            </uib-accordion>                
        </div>

出于某种原因,ng show似乎正确设置为false,但元素仍然显示。如果我将一个按钮绑定到
可见
布尔值,并在浏览器中更改它,则该元素将正确显示和消失

元素在页面加载时可见,因为范围尚未链接到指令。可以解决您的问题

元素在页面加载时可见,因为范围尚未链接到指令。可以解决您的问题

尝试使用
ng斗篷

指令用于防止浏览器在加载应用程序时以原始(未编译)形式短暂显示AngularJS html模板

<div id="template1" ng-cloak>{{ 'hello' }}</div>
{{'hello'}

尝试使用
ng斗篷

指令用于防止浏览器在加载应用程序时以原始(未编译)形式短暂显示AngularJS html模板

<div id="template1" ng-cloak>{{ 'hello' }}</div>
{{'hello'}
您同时使用和。尝试删除其中任何一个。两者都是为了同样的目的

还可以使用它来防止浏览器在加载应用程序时以原始(未编译)形式短暂显示AngularJS html模板

<div id="template1" ng-cloak>{{ 'hello' }}</div>
var-app=angular.module(“app”,[]);
应用程序控制器(“ctrl”,函数($scope){
$scope.elements=[{
状态:0,
标题:“布拉布拉”,
编号:0,
开:错,
活动:错误,
可见:假
}, {
现状:1,
标题:“blob”,
编号:0,
开:错,
活动:错误,
可见:假
}];
$scope.ShowHide=function(){
angular.forEach($scope.elements,function(element){
element.visible=!element.visible;
element.active=!element.active;
警报(元素可见);
});
}
});

{{element.title}}({{element.number})
看得见
您同时使用和。尝试删除其中任何一个。两者都是为了同样的目的

还可以使用它来防止浏览器在加载应用程序时以原始(未编译)形式短暂显示AngularJS html模板

<div id="template1" ng-cloak>{{ 'hello' }}</div>
var-app=angular.module(“app”,[]);
应用程序控制器(“ctrl”,函数($scope){
$scope.elements=[{
状态:0,
标题:“布拉布拉”,
编号:0,
开:错,
活动:错误,
可见:假
}, {
现状:1,
标题:“blob”,
编号:0,
开:错,
活动:错误,
可见:假
}];
$scope.ShowHide=function(){
angular.forEach($scope.elements,function(element){
element.visible=!element.visible;
element.active=!element.active;
警报(元素可见);
});
}
});

{{element.title}}({{element.number})
看得见

适用于任何在使用uib手风琴时遇到相同问题的人

如果最初设置为false并在uib accordion标记中使用,则ng show无法正常工作。我解决这个问题的方法是将手风琴包装在一个div中,并在该div中使用ng show。像这样:

         <div class="stuff">
            <div ng-show="element.visible" ng-repeat="element in elements" >
            <uib-accordion close-others="false">
                <div ng-if="element.active" uib-accordion-group ng-class="element.open? 'colorBackgroundBlue':'black'" class="panel-default yellow" is-open="element.open">
                    <uib-accordion-heading>
                        {{element.title}} ({{element.number}}) 
                    </uib-accordion-heading>
                    <div class="scrollable-accordion" ng-if="element.numberOfElements!=0">
                    </div>
                </div>
            </uib-accordion>
            </div>
        </div>

{{element.title}}({{element.number})

注意:问题只发生在页面加载时,并且只发生在ng show和ng hide中,而ng if在
中似乎工作得很好。感谢每一个无论如何都想帮忙的人

适用于在使用uib手风琴时遇到相同问题的任何人

如果最初设置为false并在uib accordion标记中使用,则ng show无法正常工作。我解决这个问题的方法是将手风琴包装在一个div中,并在该div中使用ng show。像这样:

         <div class="stuff">
            <div ng-show="element.visible" ng-repeat="element in elements" >
            <uib-accordion close-others="false">
                <div ng-if="element.active" uib-accordion-group ng-class="element.open? 'colorBackgroundBlue':'black'" class="panel-default yellow" is-open="element.open">
                    <uib-accordion-heading>
                        {{element.title}} ({{element.number}}) 
                    </uib-accordion-heading>
                    <div class="scrollable-accordion" ng-if="element.numberOfElements!=0">
                    </div>
                </div>
            </uib-accordion>
            </div>
        </div>

{{element.title}}({{element.number})
注意:问题只发生在页面加载时,并且只发生在ng show和ng hide中,而ng if在
中似乎工作得很好。感谢每一个无论如何都想帮忙的人

添加 class=“ng隐藏”和ng斗篷。
{{itemsincart}}

它对我很有效,并且避免了页面加载时元素的闪烁。

添加 class=“ng隐藏”和ng斗篷。
{{itemsincart}}


它对我很有效,避免了页面加载时元素的闪烁。

使用ng hide=“!element.visible”或ng if=“element.visible”尝试不同的方式,并添加标签
ng-clope
ng-show有时很时髦,我倾向于使用ng-hide。奇怪的是,我还没弄明白为什么我自己会有这些问题。您是否尝试过ng hide=“!element.visible”?ng if可以很好地处理可见布尔值,但我不希望元素从DOM中消失。至于ng hide=“!element.visible”,它给出了相同的问题。ng-Dope也没有帮助。添加
ng-Dope
指令应该会起作用。使用ng-hide=“!element.visible”或ng-if=“element.visible”以不同的方式尝试,并添加标记
ng-Dope
ng-show有时很时髦,我倾向于应用ng-hide。奇怪的是,我还没弄明白为什么我自己会有这些问题。您是否尝试过ng hide=“!element.visible”?ng if可以很好地使用可视布尔值,但我没有