2016-05-17 2 views
0

Я видел много вопросов, подобных моим, но ответы, похоже, не решают мою проблему. Странно, что он работал раньше. Кроме того, когда я устанавливаю точку останова в контроллере, используемом для диалога, переменная, используемая для передачи значения, не равна нулю. Значение правильно принят, но до сих пор неизвестный поставщик ошибка

Это код в моем родительском контроллере

function addFaq(category, ev){ 

    $mdDialog.show({ 
     controller: 'newfaqController' 
     , templateUrl: './app/components/faq/modals/newFaq.html' 
     , parent: angular.element(document.body) 
     , targetEvent: ev 
     , bindToController: true 
     , clickOutsideToClose: true 
     , locals: { 
      newFaqCategory: category 
     } 
     , controllerAs: vm 
    }).then(function(result){ 
     if(result){ 
      vm.allFaqs.push(result); 
     } 
    }); 

    $scope.$watch(function() { 
     return $mdMedia('xs') || $mdMedia('sm'); 
    }, function (wantsFullScreen) { 
     $scope.customFullscreen = (wantsFullScreen === true); 
    }); 
}; 

Это первые строки моего диалога контроллера

angular.module('MyApp').controller('newfaqController', ['$mdDialog', 'newFaqCategory', 'apiFactory', newfaqController]); 
function newfaqController($mdDialog, newFaqCategory, apiFactory) { 
+1

Вы ссылаетесь на контроллер, который вызывает $ mdDialog как vm? Я столкнулся с конфликтами с этой и нами dvm (моделью диалогового окна) в качестве ссылки на контроллер в $ mdDialog. –

+0

Отлично, он работал. Благодарю. Также удалил мою директиву ng-controller из моего view.html. Кажется, это возможная проблема для – user1008531

ответ

2

ARE YOU ссылаясь на контроллер, который вызывает $ mdDialog как vm? Я столкнулся с конфликтами с этой и нами dvm (моделью диалогового окна) в качестве ссылки на контроллер в $ mdDialog.

Это ответ, я также могу оставить «ControllerAs» подальше от вариантов. Но все-таки пришлось изменить виртуальную машину для DVM в моем модальный контроллер

function addFaq(category, ev){ 

    $mdDialog.show({ 
     controller: 'newfaqController' 
     , templateUrl: './app/components/faq/modals/newFaq.html' 
     , parent: angular.element(document.body) 
     , targetEvent: ev 
     , bindToController: true 
     , clickOutsideToClose: true 
     , locals: { 
      newFaqCategory: category 
     } 
    }).then(function(result){ 
     if(result){ 
      vm.allFaqs.push(result); 
     } 
    }); 

    $scope.$watch(function() { 
     return $mdMedia('xs') || $mdMedia('sm'); 
    }, function (wantsFullScreen) { 
     $scope.customFullscreen = (wantsFullScreen === true); 
    }); 
}; 

И мой модальный контроллер

angular.module('MyApp').controller('newfaqController', ['$mdDialog', 'newFaqCategory', 'apiFactory', newfaqController]); 

функция newfaqController ($ mdDialog, newFaqCategory, apiFactory) { вар DVM = это;

+0

. Вы хотите пойти и принять свой собственный ответ, чтобы этот вопрос не показывался как открытый? –

Смежные вопросы