打开模态时angular js指令出错



我在我的头中使用一个自定义指令,在从头中单击指令控制器中的函数时打开登录模式(它工作良好,模式打开成功)。在modal html中,我也有一个按钮(登录),当我点击登录时,它会调用指令中的另一个函数(RegistrationModal),但它的抛出错误没有打开,请检查代码

 .directive('header', function () {
    return {
        restrict: 'E',
        templateUrl: HTML.HEADER,
        scope: true,
        controller: function ($scope, $rootScope, $http, $templateCache,$compile) {
            $scope.RegistrationModal = function () {
              $(".modal").remove();
              $(".modal-backdrop").remove();
              $http.get(HTML.SIGN_UP, {cache: $templateCache}).success(function (data) {
                    $(document.body).append($compile(data)($scope));
                    $('#sign-up1').modal('show');
                });
            }
            $scope.loginModal = function () {
                if ($("#sign-up1").length > 0) {
                    $('#sign-up1').modal('hide');
                }
                console.log(">>>>>>>>>>>>in login")
                $http.get(HTML.LOGIN, {cache: $templateCache}).success(function (data) {
                    console.log(">>>>>>>>>>>...data is>>>>>.", data);
                    $(document.body).append($compile(data)($scope));
                    $('#login-popup').modal('show');
                });
            }
        },

    };
    return directive;
})

错误

angular.js:13708类型错误:无法将未定义或null转换为对象

什么是HTML对象?您将其用作全局变量,因此它可能超出范围。

您应该注入诸如服务或常量之类的所有东西。

最新更新