angularjs oclazyload функция многократного / двойного вызова контроллера - PullRequest
0 голосов
/ 03 октября 2019

Я использую 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...