2017-01-03 3 views
0

У меня есть приложение с модалами, которые я пытаюсь вызвать с помощью $ modalInstance. Согласно другим вопросам, которые я читал здесь, я не должен включать ng-controller в свой шаблон, и это именно то, что я сделал, но он все еще не работает.

Вот мой код:

HTML - главная страница

<script src="http://angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.11.0.js"></script> 

HTML - шаблон add.html

<div ng-show="showAddModal"> 

    <div class="product-header"> 
     <div class="modal-title">Add Product Information</div> 
     <div class="modal-close" ng-click="closeModal();">X</div> 
    </div> 

    <!-- other codes go here --> 
</div> 

AngularJS - app.js

var app = angular.module('ProductApp', ['ngResource', 'ui.bootstrap']); 

AngularJS - контроллер

app.controller('MainController', ['$scope', '$resource', '$http', 'ProductFactory', 'EditProductFactory', '$modalInstance', 
           function ($scope, $resource, $http, ProductFactory, EditProductFactory, $modalInstance) { 

$scope.addProduct = function() { 

    $scope.showAddModal = true; 

    var modalOptions = { 
     template: '/views/add.html', 
     controller: 'AddController' 
     //scope: $scope 
    }; 

    $modal.open(modalOptions); 
} 

... 

Любые советы будут высокую оценку.

спасибо.

+0

сделал и попытаться придать $ модальность в контроллере –

ответ

1

Вам необходимо ввести $uibModal вместо $modalInstance в ваш вызывающий контроллер. И используйте $uibModal.open(...).

В вашей AddController вы можете придать $uibModalInstance

angular.module('ProductApp').controller('AddController', function ($scope, $uibModalInstance) { 
    $scope.close = function() { 
    $uibModalInstance.close(); 
    }; 
}); 
+0

Спасибо. Я сделал то, что вы сказали, но теперь я получаю ошибку '$ uibModal не определена'. Насколько я понимаю, '$ uibModalInstance' позаботится об этом, поэтому мне не нужно также называть' $ uibModal' ... правильно? –

+1

Я создал [a Plunkr] (https://plnkr.co/edit/YK5Gga7jmX5IlNqSv4HC?p=preview) рядом с вашим примером. Надеюсь, поможет. – CMR

+0

Это конечно. Спасибо за ваши усилия! :) –