Javascript 优化AngularJS中的摘要循环
我使用Angularjs+角度材质。我创建了一个可以动态添加选项卡的应用程序。每次用户单击列表中的项目(表中的项目)时,它都会显示一个包含内容的新选项卡,其中选项卡内容我将包括一个模板html列表(我在组件angularjs 1.5中创建此模板列表)。我的问题是,当用户打开tabX时,我只希望该角度摘要循环用于此选项卡上的作用域,而不是$rootScope.digest(为了优化我的摘要循环),因为每个选项卡都包含大量字段,我将遇到性能问题Javascript 优化AngularJS中的摘要循环,javascript,angularjs,angular-material,Javascript,Angularjs,Angular Material,我使用Angularjs+角度材质。我创建了一个可以动态添加选项卡的应用程序。每次用户单击列表中的项目(表中的项目)时,它都会显示一个包含内容的新选项卡,其中选项卡内容我将包括一个模板html列表(我在组件angularjs 1.5中创建此模板列表)。我的问题是,当用户打开tabX时,我只希望该角度摘要循环用于此选项卡上的作用域,而不是$rootScope.digest(为了优化我的摘要循环),因为每个选项卡都包含大量字段,我将遇到性能问题 <md-tabs md-dynamic-heig
<md-tabs md-dynamic-height>
<md-tab md-on-select="vm.tabChanger(0)">
home
</md-tab-label>
</md-tabs md-dynamic-height>
<md-tab-body class="md-marging">
</md-tab-body>
<tbody>
...
<tr ng-repeat="itemTravail in vm.listTravail" ng-click="vm.eltSelectionner(itemTravail)" class="row-tab" >
...
</tr>
<md-tab ng-repeat="itemTabs in vm.tabs" >
<content-page>
<my-Comp1 onj="vm.object"></my-Comp1>
</content-page>
</md-tab>
(function () {
'use strict';
var optionsCaractPropo = {
bindings: {
onj: '<'
//itemSelectionner: '=',
// myBinding: '@'
//functionBinding: '&'
},
controller: function($scope,$rootScope){
var vm = this;
console.log('caractPropoController>>>>>>> '+JSON.stringify(vm.onj));
console.log('Outside');
vm.$onInit = function () {
console.log('Inside');
};
if(!$rootScope.$$phase) {
$scope.$digest();
}
},
controllerAs : 'vm',
templateUrl: './contentComponents/prepare/views/myComp1.html'
};
angular.module('prepare')
.component('myComp1', optionsCaractPropo);
})();
家
...
...
(功能(){
"严格使用",;
var OptionScactPropo={
绑定:{
onj:“>>>”+JSON.stringify(vm.onj));
console.log(“外部”);
vm.$onInit=函数(){
console.log('Inside');
};
如果(!$rootScope.$$phase){
$scope.$digest();
}
},
controllerAs:'vm',
templateUrl:“./contentComponents/prepare/views/mycop1.html”
};
角度模块('prepare')
.组件('myComp1',选项CaractPropo);
})();
理想情况下,所有选项卡的内容都应为ng,即除非选项卡处于活动状态,否则应将其从DOM中取出。这应该也解决了这个问题,我已经为此创建了一个新的解决方案,但是我仍然有很多摘要循环,我不确定它是否合适。我在这里添加它,以便您或其他人可以尝试改进它。(我看不出ng if有什么改进,这就是为什么它被注释的原因。)理想情况下,所有选项卡的内容都应该是ng if,也就是说,除非选项卡处于活动状态,否则它应该从DOM中删除。这应该也解决了这个问题,我已经为此创建了一个新的解决方案,但是我仍然有很多摘要循环,我不确定它是否合适。我在这里添加它,以便您或其他人可以尝试改进它。(我看不到ng的改进,如果
,这就是它被评论的原因。)