AngularJS等待编译/链接/重复,直到用户点击

时间:2013-03-25 21:35:14

标签: performance angularjs

我在中型结果集上遇到了一些性能问题。结果集是一个文档列表,每个文档都包含一小组属性(元数据,如创建,修改,标签,所有者名称等),在用户单击显示/隐藏按钮之前,这些属性将被隐藏。

在模板中,我使用了很多ng-show s,当我评论所有这些时,性能得到了显着提升,所以我想知道是否有办法让Angular不要编译其中任何一个,在用户点击属性显示/隐藏按钮之前不呈现任何重复重复。还是有更惯用的方式来解决这个问题?

更新:实际上,当我发表评论ng-show时,它似乎就是当我注释掉整个html块时,让它看起来像访问属性对象是性能受损的原因。为什么呢?

模板:

 <div class="property" ng-show="property.display && property.value && property.viewable" ng-repeat="property in item.properties()">

     <span class="property-name">{{property.external}}:</span>
     <span class="property-value" ng-show="property.type == 'string' || property.type == 'integer' || property.type == 'float'">
         <span ng-hide="property.edit">{{property.value}}</span>
         <span ng-show="property.edit">
             <input name="{{property.internal}}" id="{{property.internal}}{{item.id()}}" />
             <span class="edit-button"><a ng-click="simpleUpdate(item, property)">save</a></span>
             <span class="edit-button"><a ng-click="editProperty(item, property)">cancel</a></span>
         </span>
            <span class="edit-button" ng-show="property.editable && !property.edit"><a ng-click="editProperty(item, property)">edit</a></span>
     </span>                

     <span class="property-value" ng-show="property.type == 'stringArray'">
         <span ng-hide="property.edit">{{property.value | join:', '}}</span>
         <span ng-show="property.edit">
             <textarea name="{{property.internal}}" id="{{property.internal}}{{item.id()}}" class="keywords" rows="1" cols="80"></textarea>
             <span class="edit-button"><a ng-click="simpleUpdate(item, property)">save</a></span>
             <span class="edit-button"><a ng-click="editProperty(item, property)">cancel</a></span>
         </span>
         <span class="edit-button" ng-show="property.editable && !property.edit"><a ng-click="editProperty(item, property)">edit</a></span>
     </span>

     <div class="clearboth">&nbsp;</div>
 </div>

0 个答案:

没有答案