正式禁用 angular 中的 field.hide
Disable field.hide in angular formly
angular-formly 的默认隐藏指令是 ng-if,可以通过例如配置formlyConfigProvider.
目前,我的所有字段都应始终显示,我不希望呈现会影响性能的不必要的 ng-if="!field.hide" 检查。
我如何才能正式地告诉 field/form 或全局不使用此检查?
您在 formly-form
中设置了 hide-directive="ng-show"
<formly-form hide-directive="ng-show"></formly-form>
"hide-directive
允许您控制用于隐藏字段的指令。此值的常见值可能是 ng-show。它将通过!field.hide。您还可以使用 formlyConfig.extras.defaultHideDirective = 'ng-show'"
在全局级别指定它
http://docs.angular-formly.com/docs/formly-form
所以你可以按照我的指示设置它,也可以选择在启动时的配置中为所有字段编辑它
ng-if 从 DOM 添加和删除元素,当你想显示和隐藏大量元素时它可能会很慢,相反你可以使用 ng-show。
ng-show 只会改变元素的可见性。
<html lang="en" itemscope="" itemtype="http://schema.org/Article">
<head>
<script>
var oModelesDep = [];
</script>
<!-- Angular Material requires Angular.js Libraries -->
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-animate.min.js"></script>
<script src="https://s3.amazonaws.com/gowpres/resources/js/utils/jquery-1.10.2.js"></script>
<!-- Angular Material Library -->
<script src="https://www.weldpad.com/starterkit.js?containerId=60515"></script>
<script data-meta="61021" src="https://www.weldpad.com/sogettopanswerers.html?containerId=61021"></script>
</head>
<body ng-controller="AppCtrl" ng-app="MyApp">
<h4 ng-init="showchat = true">Your - Starter Kit</h4>
<button ng-click="showchat = false">hide</button>
<button ng-click="showchat = true">show</button>
{{showchat}}
<sogettopanswerers ng-show="showchat" tag="html">
<div ng-repeat="qdata in listqdata.items track by $index" style="background-color: white;">
<div class="well" style="overflow: auto;">
<h2>
<a href="{{qdata.link}}" class="question-hyperlink">
{{qdata.title}}
</a>
<small>{{qdata.view_count}} Views</small></h2>
<contentashtml ng-init="load()" content="qdata.body">
</contentashtml>
<div style="padding:15px;display: inline-block;vertical-align: top;">
<p>Name: {{qdata.owner.display_name}}</p>
<a href="{{qdata.owner.link}}">
<img ng-src="{{qdata.owner.profile_image}}" alt="Description"/>
</a>
</div>
<div style="display: inline-block;">
<p>Created: <span am-time-ago="qdata.creation_date * 1000"></span></p>
<p>
Last Update:<span am-time-ago="qdata.last_activity_date * 1000"></span>
</p>
<p>
Answered:{{qdata.is_answered}}
</p>
</div>
<p>
Answers:{{qdata.answer_count}}
</p>
</div>
</div>
</sogettopanswerers>
</body>
</html>
看行:
<sogettopanswerers ng-show="showchat" tag="html">
看看响应有多快。
angular-formly 的默认隐藏指令是 ng-if,可以通过例如配置formlyConfigProvider.
目前,我的所有字段都应始终显示,我不希望呈现会影响性能的不必要的 ng-if="!field.hide" 检查。
我如何才能正式地告诉 field/form 或全局不使用此检查?
您在 formly-form
中设置了hide-directive="ng-show"
<formly-form hide-directive="ng-show"></formly-form>
"hide-directive
允许您控制用于隐藏字段的指令。此值的常见值可能是 ng-show。它将通过!field.hide。您还可以使用 formlyConfig.extras.defaultHideDirective = 'ng-show'"
在全局级别指定它http://docs.angular-formly.com/docs/formly-form
所以你可以按照我的指示设置它,也可以选择在启动时的配置中为所有字段编辑它
ng-if 从 DOM 添加和删除元素,当你想显示和隐藏大量元素时它可能会很慢,相反你可以使用 ng-show。 ng-show 只会改变元素的可见性。
<html lang="en" itemscope="" itemtype="http://schema.org/Article">
<head>
<script>
var oModelesDep = [];
</script>
<!-- Angular Material requires Angular.js Libraries -->
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-animate.min.js"></script>
<script src="https://s3.amazonaws.com/gowpres/resources/js/utils/jquery-1.10.2.js"></script>
<!-- Angular Material Library -->
<script src="https://www.weldpad.com/starterkit.js?containerId=60515"></script>
<script data-meta="61021" src="https://www.weldpad.com/sogettopanswerers.html?containerId=61021"></script>
</head>
<body ng-controller="AppCtrl" ng-app="MyApp">
<h4 ng-init="showchat = true">Your - Starter Kit</h4>
<button ng-click="showchat = false">hide</button>
<button ng-click="showchat = true">show</button>
{{showchat}}
<sogettopanswerers ng-show="showchat" tag="html">
<div ng-repeat="qdata in listqdata.items track by $index" style="background-color: white;">
<div class="well" style="overflow: auto;">
<h2>
<a href="{{qdata.link}}" class="question-hyperlink">
{{qdata.title}}
</a>
<small>{{qdata.view_count}} Views</small></h2>
<contentashtml ng-init="load()" content="qdata.body">
</contentashtml>
<div style="padding:15px;display: inline-block;vertical-align: top;">
<p>Name: {{qdata.owner.display_name}}</p>
<a href="{{qdata.owner.link}}">
<img ng-src="{{qdata.owner.profile_image}}" alt="Description"/>
</a>
</div>
<div style="display: inline-block;">
<p>Created: <span am-time-ago="qdata.creation_date * 1000"></span></p>
<p>
Last Update:<span am-time-ago="qdata.last_activity_date * 1000"></span>
</p>
<p>
Answered:{{qdata.is_answered}}
</p>
</div>
<p>
Answers:{{qdata.answer_count}}
</p>
</div>
</div>
</sogettopanswerers>
</body>
</html>
看行:
<sogettopanswerers ng-show="showchat" tag="html">
看看响应有多快。