我在我的头中使用一个自定义指令,在从头中单击指令控制器中的函数时打开登录模式(它工作良好,模式打开成功)。在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
对象?您将其用作全局变量,因此它可能超出范围。
您应该注入诸如服务或常量之类的所有东西。