recherche

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

angular.js - 当控制器的值发生改变时,如何及时将其传递给指令?

当我修改控制器controller内的某个变量时,希望指令directive能及时获取变量修改后的值。

app.directive('popoverMobile',function(){
    return {
        restrict:"E",
        transclude:true,
        scope:true,
        templateUrl:"tmpl/popover.mobile.tmpl.html",
        controller:["$scope",function($scope){
            $scope.popover_status=false;
            jQuery.ajax({
                type:"GET",                
                url:"https://**.***.com/**.htm?tel="+$scope.parents_detail.mobile,
                dataType:"jsonp",
                jsonp:"callback",
                jsonpCallback:"jsonpCallback",
                success:function(data){
                    $scope.mobile_info=data;
                }
            });
        }],
        link:function(scope){
            scope.switch_popover=function(val){
                scope.popover_status=val;
                scope.$apply();
            }
        },
        replace:true
    }
});

$scope.parents_detail.mobile 是控制器中的变量;
$scope.parents_detail.mobile 的值发生改变时,重新请求接口。

为情所困为情所困2744 Il y a quelques jours488

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

  • 黄舟

    黄舟2017-05-15 17:00:45

    $scope.$watch

    répondre
    0
  • 習慣沉默

    習慣沉默2017-05-15 17:00:45

    Les directives AngularJS peuvent partager des attributs définis dans la portée parent par défaut. Par exemple, les objets et les attributs de la portée parent peuvent être utilisés directement dans les modèles. Habituellement, certaines fonctions directives simples peuvent être implémentées à l’aide de cette méthode de partage direct. Lorsque vous devez créer une directive réutilisable qui n'a besoin qu'occasionnellement d'accéder ou de modifier des données dans la portée parent, vous devez utiliser une portée isolée.

    La directive AngularJS isole l'interaction des données de portée

    répondre
    0
  • Annulerrépondre