【发布时间】:2016-08-05 06:11:10
【问题描述】:
我在我的标题中使用自定义指令来打开登录模式,点击标题中的指令控制器中的功能(它工作正常并且模式打开成功)。在模态 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 转换为对象
【问题讨论】:
-
能否请您发布一个 plunker 和详细的堆栈跟踪?这样会更好!
-
@Srijith......我想确认一件事。一旦我从指令调用 loginModal 函数并且该函数编译模板数据并将其附加到正文。我再次从同一指令调用 RegistrationModal 函数我应该破坏范围或其他任何东西
-
如果你想在你的项目中使用modal,我推荐使用ui-bootstrap
-
@Emidomh..sorry 但这不是与模式相关的问题。这是我项目中的常见功能。我无法更改。
标签: javascript angularjs angularjs-directive modal-dialog