検索

ホームページ  >  に質問  >  本文

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日前486

全員に返信(2)返信します

  • 黄舟

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

    リーリー

    返事
    0
  • 習慣沉默

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

    AngularJS ディレクティブは、デフォルトで親スコープで定義された属性を共有できます。たとえば、親スコープのオブジェクトと属性をテンプレートで直接使用できます。通常、いくつかの単純なディレクティブ関数は、この直接共有方法を使用して実装できます。親スコープのデータにアクセスしたり変更したりする必要が時々あるだけの再利用可能なディレクティブを作成する必要がある場合は、分離されたスコープを使用する必要があります。

    AngularJS ディレクティブはスコープデータの相互作用を分離します

    返事
    0
  • キャンセル返事