Использование шаблонов в модальном диалоге с использованием AngularJS - PullRequest
0 голосов
/ 22 марта 2020

У меня чертовски много времени, пытаясь заставить это работать. я более знаком с jQuery, но это приложение не использует jQuery, и я не хочу смешивать 2. плюс, я не думаю, что вы можете использовать шаблоны в jQuery. во всяком случае, я покажу фрагменты кода, которые я пробовал, и, возможно, вы можете сказать мне, где я ошибся. У меня есть 2 кнопки, которые открывают модальное диалоговое окно, в котором содержимое модального файла хранится в шаблоне, а выбранный шаблон зависит от нажатой кнопки.

<button class="btn btn-primary pull-right" style="margin-left: 10px; background: #990000"
        ng-click="showEmail('1')"
        ng-show="ctrl.searchResults!=null && ctrl.searchResults.length > 0">
    T1
</button>
<button class="btn btn-primary pull-right"
        style="margin-left: 10px; background: #990000"
        ng-click="showEmail('2')"
        ng-show="ctrl.searchResults!=null && ctrl.searchResults.length > 0">
    T2
</button>
$scope.showEmail = function (id) {
   var modalInstance = $modal.open({
      templateUrl: (id == '1') ? 'template1.html' : 'template2.html',
      controller: 'AppController',
      resolve: {
         editId: function () {
           return id;
         }
      }
   });

Сначала я был сбит с толку относительно где я должен был ссылаться на фактический модальный идентификатор (в html), который я хочу открыть, но затем понял, что, возможно, это то, для чего предназначались шаблоны ..

<div class="modal fade" id="dlgEmail" tabindex="-1" role="dialog">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-body">
                <div class="row">
                    <p>
                        Content goes here
                    </p>
                </div>
            </div>
            <div class="modal-footer">
                <div class="row">
                    <button type="button" class="btn btn-default"
                            data-dismiss="modal" ng-click="doEmail()"
                            style="background-color:crimson;color:white">
                        Submit
                    </button>
                </div>
            </div>
        </div>
    </div>
</div>

моя первая попытка запустить это, я получил ошибку «$ modal notfined». когда я посмотрел это вверх, он сказал, что мне нужно ввести $ modal в мой контроллер, поэтому я попробовал это ..

app.controller("AppController",
    function($scope, $http, $modal) {
        var t = this;

как только я добавил это, у меня были большие надежды, что это сработает, но вместо этого я получил другая ошибка

'$ инжектор: unpr Неизвестный поставщик'.

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

1 Ответ

0 голосов
/ 23 марта 2020

Полагаю, вы не ввели editId в свой AppController контроллер, можете ли вы сделать это и проверить еще раз:

app.controller("AppController",
    function($scope, $http, $modal, editId) {
        var t = this;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...