Я использую angularjs и oclazyload для модуля stateProvider. меню одним щелчком мыши сначала загрузил шаблон страницы и просмотр без проблем. это один вызов функции контроллера.
Но в другом меню, например, нажмите второе меню, загрузите второй шаблон страницы просмотра и контроллера и выберите первое меню, снова загрузите первую страницу. Таким образом, функция загрузки первой страницы контроллера. Третий вызов загружен тремя контроллерами вызовов и т. Д.
Может, вы поможете мне с вопросом?
App.js
var BkApp = angular.module('BkApp', ['oc.lazyLoad','ui.router','ui.bootstrap','angular-loading-bar',]);
BkApp.config(['$stateProvider','$urlRouterProvider','$ocLazyLoadProvider',function ($stateProvider,$urlRouterProvider,$ocLazyLoadProvider) {
$ocLazyLoadProvider.config({
debug:true,
events:true,
cache: false,
serie: true,
// reconfig:true,
});
$urlRouterProvider.otherwise('/dashboard/home'); // yonlenilecek ana sayfa
$stateProvider
.state('dashboard', {
url:'/dashboard',
templateUrl: 'views/dashboard/main.html',
controller: 'AnaKontrolcu',
resolve: {
loadMyDirectives:function($ocLazyLoad){
return $ocLazyLoad.load(
{
name:'BkApp',
files:[
'scripts/controllers/AnaKontrolcu.js',
'scripts/directives/header/header.js',
'scripts/directives/header/header-notification/header-notification.js',
'scripts/directives/sidebar/sidebar.js',
'scripts/directives/sidebar/sidebar-search/sidebar-search.js'
]
}),
.state('dashboard.home',{
url:'/home',
controller: 'MainCtrl',
templateUrl:'views/dashboard/home.html',
resolve: {
loadMyFiles:function($ocLazyLoad) {
return $ocLazyLoad.load({
name:'BkApp',
files:[
'scripts/controllers/main.js',
'scripts/directives/timeline/timeline.js',
'scripts/directives/notifications/notifications.js',
'scripts/directives/chat/chat.js',
'scripts/directives/dashboard/stats/stats.js'
]
})
}
}
})
.state('dashboard.onepage',{
url:'/onepage',
title: 'onepage',
controller: 'onepage',
controllerAs: 'onepage',
templateUrl: 'views/onepage.js',
cache:false,
resolve: {
loadMyFiles:function($ocLazyLoad) {
return $ocLazyLoad.load({
name:'BkApp',
files:['scripts/controllers/onepage.js'],
serie: true,
cache: false
})
}
}
})
.state('dashboard.twopage',{
url:'/twopage',
title: 'twopage',
controller: 'twopage',
controllerAs: 'twopage',
templateUrl: 'views/twopage.js',
cache:false,
resolve: {
loadMyFiles:function($ocLazyLoad) {
return $ocLazyLoad.load({
name:'BkApp',
files:['scripts/controllers/twopage.js'],
serie: true,
cache: false,
})
}
}
})
одностраничный. js
'use strict';
angular.module('BkApp')
.controller('onepage',['$scope','$position','$http', function($scope,$position,$http) {
$scope.Sil = function () {
alert('bana bir kere basıldı...');
};
// SİLME ##############################################
console.log("burhan karadere");
$(document).on('click', '.deletebutton', function(){
var id = $(this).attr("id");
// the confirmation is multiple alert message
// this is issue
if(confirm("Kayıt silmek istediğinizden emin misiniz?"))
{
console.log("silme ajax girdim...");
$.ajax({
url:"page_one.php",
method:"POST",
data:{id:id,operation:'SIL'},
success:function(data)
{
dataTable.ajax.reload(
function yuklendiimben(){
console.log('test one event');
alert('test one event');
}
);
}
});
}
else
{
return false;
}
});
}; // $scope.submitForm
$scope.$on('$viewContentLoaded', function() {
}); // viewContentLoaded
$scope.$on('$routeChangeSuccess', function () {
// do something
});
$scope.$on('$stateChangeSuccess', function () {
// do something
});
}]); // controller function