Javascript AngularJS:如何使链接函数中的元素脱离作用域
我有一个指令,它从控制器中从名为stuff的属性中获取JSON数组。那部分很好用。我现在要做的是创建一个link函数,该函数将使用该数组的长度,并允许我重复TR和TD元素来创建一个格式良好的表。我在堆栈上找到了一个很好的例子,但我遇到的问题是我无法从link函数中的stuff属性中获取任何内容。我只是没有定义 控制器:Javascript AngularJS:如何使链接函数中的元素脱离作用域,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我有一个指令,它从控制器中从名为stuff的属性中获取JSON数组。那部分很好用。我现在要做的是创建一个link函数,该函数将使用该数组的长度,并允许我重复TR和TD元素来创建一个格式良好的表。我在堆栈上找到了一个很好的例子,但我遇到的问题是我无法从link函数中的stuff属性中获取任何内容。我只是没有定义 控制器: function itemControl($http, $scope) { $http.get('doc/products.json').success(function (
function itemControl($http, $scope) {
$http.get('doc/products.json').success(function (prodata) {
$scope.data = prodata;
});
}
指示
app.directive("showcase", function () {
return {
restrict: "A",
template: '<table>' +
'<colgroup span="2"></colgroup>' +
'<tr ng-repeat="items in stuff">' +
'<td>' +
'<a ng-href="{{items.SRC}}" Title="{{items.name}}" colorbox>' +
'<img ng-src="{{items.SRC}}"></a>' +
'</td></tr></table>',
scope: {
stuff: "="
},
link: function (scope) {
alert(scope.stuff);
}
};
});
应用程序指令(“showcase”,函数(){
返回{
限制:“A”,
模板:“”
'' +
'' +
'' +
'' +
'',
范围:{
材料:“=”
},
链接:功能(范围){
警报(scope.stuff);
}
};
});
HTML
因为数据是从外部JSON文件加载的,所以在创建“showcase”实例时数据不可用。为了抓住这次机会,你可以使用scope.$watch 看看这个:
如果您可以发布一个jsfiddle/plunkr,这会很有帮助,让其他人更容易提供帮助。同时,也许看看,我会看看的。我试图建立一个小提琴的这个,但我没有得到任何结果,我总是斗争的角度内小提琴我不知道为什么。
<div ng-controller="itemControl">
<div showcase stuff="data"></div>
</div>