Javascript 莫代尔不想在$location AngularJS处打开自己

Javascript 莫代尔不想在$location AngularJS处打开自己,javascript,css,angularjs,Javascript,Css,Angularjs,嗨,有人能告诉我,如果我想要开放模式,该怎么办: <a ng-click="openingModal($event)" href="#openModal">Open Modal</a> <div ng-click="clickedOutsideModal()" id="openModal" class="modalDialog"> 他不想打开自己,因为在url中: 如果我从控制器中删除$location并再次单击,url将如下所示: 然后模态会打开,

嗨,有人能告诉我,如果我想要开放模式,该怎么办:

<a ng-click="openingModal($event)" href="#openModal">Open Modal</a>

<div ng-click="clickedOutsideModal()" id="openModal" class="modalDialog">

他不想打开自己,因为在url中:

如果我从控制器中删除$location并再次单击,url将如下所示:


然后模态会打开,但是我需要使用这个$location我应该怎么做来解决这个问题呢???

为了显示模态我使用jquery ui对话框,像这样,我使用jquery、jquery ui和AngularJS:

<div ng-click="clickedOutsideModal()" id="openModal" class="modalDialog">

//In Angular JS
$scope.clickedOutsideModal= function(data){
    showModalMessage('Title', 'Content');
}
//In jQuery
function showModalMessage(title, content){
    elModalMessage = $('<div>').attr('title', title).html(content);
    elModalMessage.dialog({
        modal: true,
        buttons: {
            'OK': function() {
            $( this ).dialog( "close" );
        }
    }
});
}

//在角JS中
$scope.clickedOutsideModal=函数(数据){
showModalMessage(“标题”、“内容”);
}
//在jQuery中
函数showModalMessage(标题、内容){
elModalMessage=$('').attr('title',title).html(内容);
elModalMessage.dialog({
莫代尔:是的,
按钮:{
“确定”:函数(){
$(此).dialog(“关闭”);
}
}
});
}
了解如何使用jquery ui:'

如果不使用from jQuery,可以使用另一种方法:

<div ng-click="clickedOutsideModal()" id="openModal" class="modalDialog">

//In Angular JS
$scope.clickedOutsideModal= function(data){
    showModalMessage('Title', 'Content');
}

//In the Javascript
function showModalMessage(title, content){
   document.getElementById("modal_title").innerHTML = title;
   document.getElementById("modal_desc").innerHTML = content;
   document.getElementById("modal").style.visibility = "visible";
}
function modal_hidden(){
    document.getElementById("modal").style.visibility = "hidden";
}

//IN HTML and before the body ended
<div  id="modal">
    <div id="modal_wrapper">
        <span onclick="modal_hidden()">Close</span>
        <div id="modal_title"></div>
        <div id="modal_desc"></div>
    </div>
</div>

//IN CSS FILE
#modal{
  display: none;
  background: rgba(0,0,0,0.35);
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
#modal_wrapper{
  width: 100%;
  background: #fff;
  border: 1px solid #cdcfd1;
  padding: 30px 0;
  margin-top: 125px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}

//在角JS中
$scope.clickedOutsideModal=函数(数据){
showModalMessage(“标题”、“内容”);
}
//在Javascript中
函数showModalMessage(标题、内容){
document.getElementById(“modal_title”).innerHTML=title;
document.getElementById(“modal_desc”).innerHTML=content;
document.getElementById(“模态”).style.visibility=“可见”;
}
函数modal_hidden(){
document.getElementById(“模态”).style.visibility=“隐藏”;
}
//在HTML和正文结束之前
接近
//在CSS文件中
#模态{
显示:无;
背景:rgba(0,0,0,0.35);
位置:绝对位置;
左:0;
排名:0;
宽度:100%;
身高:100%;
}
#模态包装器{
宽度:100%;
背景:#fff;
边框:1px实心#cdcfd1;
填充:30px0;
边缘顶部:125px;
长方体阴影:0.5pxRGBA(0,0,0,0.5);
}

为了显示模态,我使用jquery ui对话框,如下所示,我使用jquery、jquery ui和AngularJS:

<div ng-click="clickedOutsideModal()" id="openModal" class="modalDialog">

//In Angular JS
$scope.clickedOutsideModal= function(data){
    showModalMessage('Title', 'Content');
}
//In jQuery
function showModalMessage(title, content){
    elModalMessage = $('<div>').attr('title', title).html(content);
    elModalMessage.dialog({
        modal: true,
        buttons: {
            'OK': function() {
            $( this ).dialog( "close" );
        }
    }
});
}

//在角JS中
$scope.clickedOutsideModal=函数(数据){
showModalMessage(“标题”、“内容”);
}
//在jQuery中
函数showModalMessage(标题、内容){
elModalMessage=$('').attr('title',title).html(内容);
elModalMessage.dialog({
莫代尔:是的,
按钮:{
“确定”:函数(){
$(此).dialog(“关闭”);
}
}
});
}
了解如何使用jquery ui:'

如果不使用from jQuery,可以使用另一种方法:

<div ng-click="clickedOutsideModal()" id="openModal" class="modalDialog">

//In Angular JS
$scope.clickedOutsideModal= function(data){
    showModalMessage('Title', 'Content');
}

//In the Javascript
function showModalMessage(title, content){
   document.getElementById("modal_title").innerHTML = title;
   document.getElementById("modal_desc").innerHTML = content;
   document.getElementById("modal").style.visibility = "visible";
}
function modal_hidden(){
    document.getElementById("modal").style.visibility = "hidden";
}

//IN HTML and before the body ended
<div  id="modal">
    <div id="modal_wrapper">
        <span onclick="modal_hidden()">Close</span>
        <div id="modal_title"></div>
        <div id="modal_desc"></div>
    </div>
</div>

//IN CSS FILE
#modal{
  display: none;
  background: rgba(0,0,0,0.35);
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
#modal_wrapper{
  width: 100%;
  background: #fff;
  border: 1px solid #cdcfd1;
  padding: 30px 0;
  margin-top: 125px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}

//在角JS中
$scope.clickedOutsideModal=函数(数据){
showModalMessage(“标题”、“内容”);
}
//在Javascript中
函数showModalMessage(标题、内容){
document.getElementById(“modal_title”).innerHTML=title;
document.getElementById(“modal_desc”).innerHTML=content;
document.getElementById(“模态”).style.visibility=“可见”;
}
函数modal_hidden(){
document.getElementById(“模态”).style.visibility=“隐藏”;
}
//在HTML和正文结束之前
接近
//在CSS文件中
#模态{
显示:无;
背景:rgba(0,0,0,0.35);
位置:绝对位置;
左:0;
排名:0;
宽度:100%;
身高:100%;
}
#模态包装器{
宽度:100%;
背景:#fff;
边框:1px实心#cdcfd1;
填充:30px0;
边缘顶部:125px;
长方体阴影:0.5pxRGBA(0,0,0,0.5);
}

您是否注意到您共享了本地主机url?以显示问题所在,因为什么?为什么要放置链接?您可以简单地编写url结构而不链接它,因为链接将不起作用。如果您使用
$location
进行此操作,那么您不应该使用
ng click
来触发它,而应该使用映射到预定义路由的
href
。否则,不要使用location,只需调用函数。您是否注意到您共享了本地主机url?以显示问题所在,因为什么?为什么要放置链接?您可以简单地编写url结构而不链接它,因为链接将不起作用。如果您使用
$location
进行此操作,那么您不应该使用
ng click
来触发它,而应该使用映射到预定义路由的
href
。否则,不要使用location,只需调用函数嘿,谢谢这个答案Majid Abbasi,但问题是,我在我的项目中没有使用JQuery:(,你能给我一些不同的建议吗?我在我的帖子中添加了JQuery-less版本嘿,谢谢这个答案Majid Abbasi,但问题是,我在我的项目中没有使用JQuery:(,你能给我一些不同的建议吗?我在我的帖子中添加了无jQuery版本