Javascript 角度传递动态范围到指令
我有一个从http调用中获取属性值的指令,如下所示: 控制器Javascript 角度传递动态范围到指令,javascript,html,angularjs,Javascript,Html,Angularjs,我有一个从http调用中获取属性值的指令,如下所示: 控制器 app.controller("HomeController", function($scope){ $http.get("/api/source").then(function(res){ $scope.info = res.data }); }); HTML 我试图通过一个属性将info变量从控制器传递到指令中。它不起作用,因为变量值最初是从异步http调用创建的,所以在创建该指令时,没有值 有办法做到这一点吗?
app.controller("HomeController", function($scope){
$http.get("/api/source").then(function(res){
$scope.info = res.data
});
});
HTML
我试图通过一个属性将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>
app.directive(“ngMydirective”,function()){
返回{
限制:“E”,
作用域:{info:'='},
templateUrl:“/partials/info.html”,
链接:函数(范围、元素、属性){
}
}
});
检查如何将参数传递给指令:
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>