打开模态时,角度js指令中的错误

时间:2016-08-05 06:11:10

标签: javascript angularjs angularjs-directive modal-dialog

我在标题中使用自定义指令打开登录模式,从标题控制器中点击一个函数(其工作正常,模态打开成功)。在模态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 TypeError:无法将undefined或null转换为object

1 个答案:

答案 0 :(得分:0)

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

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