2017-01-03 6 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 -

0123を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

uは –

答えて

1

$modalInstanceの代わりに$uibModalを注入する必要があります。 $uibModal.open(...)を使用してください。あなたのAddControllerあなたが$uibModalInstance

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

ありがとう、あなたのコントローラで$モーダルを注入しようとしたのを注入することができるで

。私はあなたが言ったことをしましたが、今は '$ uibModal is not defined 'エラーが出ています。私が理解しているところでは、 '$ uibModalInstance'がこれを処理するので、' $ uibModal'も呼び出す必要はありません...そうですか? –

+1

あなたの例に近い[Plunkr](https://plnkr.co/edit/YK5Gga7jmX5IlNqSv4HC?p=preview)を作成しました。それが役に立てば幸い。 – CMR

+0

それは確かにしました。あなたの努力に感謝! :) –

関連する問題