recherche

Maison  >  Questions et réponses  >  le corps du texte

angulaire.js - La boîte contextuelle modale Angular JS ng-click ne prend pas effet

Dans le projet, le composant modal pop-up box est écrit en usine, il s'agissait auparavant d'une simple implémentation de fonctions pop-up et de fermeture. Maintenant, un nouvel événement ng-click est ajouté pour demander des données,
`//Certaines fonctions d'événement simples de la boîte modale sont définies ici, je ne les listerai donc pas une par une
...

getTpl = fonction(nom){

    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()变得能让解绑页面获取到
  
为情所困为情所困2756 Il y a quelques jours769

répondre à tous(2)je répondrai

  • 某草草

    某草草2017-05-15 17:08:20

    Tout d'abord, permettez-moi de dire que je suis un programmeur brutal et sauvage, et peut-être que ma méthode n'est pas bonne.

    Si je devais l'implémenter, je pense que ce scénario pourrait être implémenté à l'aide de directives.

    //当前控制器:
    $scope.XXX : {
        success : function(){
        },
        canel : function(){
        }
    }
    <model-box mb-data="XXX"></model-box>

    Les pop up/close, etc., sont écrits dans le contrôleur de la directive.

    Enfin, Amway a téléchargé mon programme de pagination. Selon la méthode d'écriture des maîtres de la communauté, je voulais l'écrire dans le service, mais j'ai utilisé des directives pour créer une roue : http://www.miaoqiyuan.cn. /p/an...

    répondre
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-15 17:08:20

    ne peut pas être déclenché car ng-click ne peut pas trouver unbindMember() dans la portée actuelle. Cette portée n'est pas la portée de votre contrôleur, et peut même ne pas exister ~
    Cela implique le fonctionnement de Dom, alors écrivez cette partie. dans la directive

    répondre
    0
  • Annulerrépondre