다음과 같이 http 호출에서 속성 값을 취하는 지시문이 있습니다.
제어 장치
app.controller("HomeController", function($scope){
$http.get("/api/source").then(function(res){
$scope.info = res.data
});
});
HTML
<div ng-controller="MainController">
<ng-mydirective data-info="{{info}}"></ng-mydirective>
</div>
지령:
app.directive("ngMydirective", function(){
return {
restrict: "E",
templateUrl: "/partials/info.html",
link: function(scope, element, attrs){
scope.info = attrs.info;
}
}
});
컨트롤러의 정보 변수를 속성을 통해 지시문으로 전달하려고합니다. 변수 값이 초기에 비동기 http 호출에서 생성되기 때문에 작동하지 않으므로 지시문이 생성 될 때 값이 없습니다.
이를 수행하는 방법이 있습니까?
속성 값을 관찰 할 수 있습니다.
link: function(scope, element, attrs){
attrs.$observe('info', function(val) {
scope.info = val;
})
}
또한 격리 할 지시문 범위를 변경할 수있는 경우 값을 바인딩하여 수행 할 수 있습니다.
app.directive("ngMydirective", function(){
return {
restrict: "E",
scope: {info: '='},
templateUrl: "/partials/info.html",
link: function(scope, element, attrs){
}
}
});
<div ng-controller="MainController">
<ng-mydirective info="info"></ng-mydirective>
</div>
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다