项目中在factory中编写模态弹出框组件,之前只是简单的实现弹出,关闭功能。现在新增了ng-click事件去请求数据,
`//这里定义了一些模态框简单的事件函数就不一一举出了
......
getTpl = function(name){
switch(name){
case"unbindMemCard":
tpl='<p class="vip-card-dialog">'+
'<p class="vip-card-dialog-bd">'+
'<p>确定解绑会员卡号{{currentCard.mcCode}}下的黄金会员卡消费项目。</p>'+
'<p>解绑后的消费项目可到场馆前台进行重新绑定。</p>'+
'</p>'+
'<p class="vip-card-dialog-ft">'+
'<a href="javascript:void(0);" class="vip-card-btn-dialog cancel my_default">取消</a>'+
'<a href="javascript:void(0);" ng-click="unbindMember()" class="vip-card-btn-dialog ok my_primary">确定</a>'+
'</p>'+
' </p>';
break;
default :
return;
}
return tpl;
};`
return {
unbindMemCard:function(){
var tpl=getTpl('unbindMemCard');
addAlertify(tpl);//弹出模态框
//关闭模态框
var my_default = document.getElementsByClassName("my_default")[0];
my_default.addEventListener("click",defaultFun,false);
},
}`
dialogService.unbindMemCard();//弹出模态弹出框
$scope.unbindMember=function(){
//解绑函数
......
}
确定按钮上的ng-click函数原本是在解绑会员卡整个页面上的,现在把这个点击事件迁移到模态弹出框中去了,我发现触发不了。也就是解绑页面加载了html模板,当前整个页面里面$scope.unbindMember仍然取不到tpl,里面的ng-click="unbindMember()".
应该如何解决?
我的思路:1、在factory里面另起一个方法去请求接口;
2、把ng-click=unbindMember()变得能让解绑页面获取到
먼저 말씀드리자면 저는 거칠고 사나운 프로그래머이고 어쩌면 제 방식이 좋지 않을 수도 있습니다.
만약 구현한다면 이 시나리오는 지시문을 사용하여 구현하는 것이 적합하다고 생각합니다.
으아악 으아악팝업/닫기 등은 지시문의 컨트롤러에 작성하세요.
마지막으로 Amway에서 내 페이징 프로그램을 다운로드하고 커뮤니티 전문가의 작성 방법을 따랐습니다. 서비스에 작성하고 싶었지만 지시문을 사용하여 휠을 만들었습니다. http://www.miaoqiyuan.cn/p/ 그리고...
트리거가 실행될 수 없는 이유는
ng-click
在当前的scope里找不到unbindMember()
이 범위가 컨트롤러의 범위가 아니거나 존재하지 않을 수도 있기 때문입니다~이것은 Dom의 작업과 관련되므로 이 부분은 여전히 지시문에 작성되어 있습니다