Maison > Questions et réponses > le corps du texte
Quand je modifie une variable dans le contrôleur controller
, j'espère que l'instruction directive
pourra obtenir la valeur modifiée de la variable dans le temps.
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
est une variable dans le contrôleur ;
Lorsque la valeur de $scope.parents_detail.mobile
change, l'interface est à nouveau demandée.
習慣沉默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