angular.js - 當控制器的值改變時,如何及時將其傳遞給指令?
为情所困
为情所困 2017-05-15 16:58:45
0
2
513

當我修改控制器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 的值改變時,重新要求介面。

为情所困
为情所困

全部回覆(2)
黄舟

雷雷

習慣沉默

AngularJS 的 directive 預設能共享父 scope 中定義的屬性,例如在模版中直接使用父 scope 中的物件和屬性。通常使用這種直接共享的方式可以實現一些簡單的 directive 功能。當你需要建立一個可重複使用的 directive,只是偶爾需要存取或修改父 scope 的數據,就需要使用隔離 scope。

AngularJS Directive 隔離 Scope 資料互動

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板