0

私は現在、Angular の学習プロセスを進めています。私がフォローしているチュートリアルの 1 つは、Angular の古いバージョンを使用しているため、ui.bootstrap の使用について教えている部分は古くなっています。

angular v 1.4.9 と ui.bootstrap v 1.1.0 を使用しています。

テンプレートを新しいモーダルにプッシュしようとしている私のファイルは次のようになります。

var angularFormsApp = angular.module('angularFormsApp', ['ngRoute', 'ui.boostrap']);

angularFormsApp.controller("HomeController",
function($scope, $location, $uibModal, DataService) {

    $scope.showCreateEmployeeForm = function() {
        //$location.path('/newEmployeeForm');
        $uibModal.open({
            templateUrl: 'app/EmployeeForm/efTemplate.html',
            controller: 'efController'
        });
    };

    $scope.showUpdateEmployeeForm = function(id) {
        $location.path('/updateEmployeeForm/' +id);
    }

});

ui.bootstrap を単独でロードできることを読みました:

var angularFormsApp = angular.module('angularFormsApp', ['ngRoute'], ['ui.boostrap']);

しかし、これでも同じエラーが発生します(以下を参照)。誰かが私がここで間違ったことを見て、私を助けることができますか?

Error: [ng:areq] Argument 'fn' is not a function, got string
4

2 に答える 2

0

コントローラー名ではなく、コントローラー クラスを $uibModal.open に提供する必要があります。このようなもの:

$uibModal.open({
            templateUrl: 'app/EmployeeForm/efTemplate.html',
            controller: CfController
        });

function CfController() {
    //your controller code
}
于 2016-01-25T15:01:16.083 に答える