Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS:如何使链接函数中的元素脱离作用域_Javascript_Angularjs_Angularjs Directive - Fatal编程技术网

Javascript AngularJS:如何使链接函数中的元素脱离作用域

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 (

我有一个指令,它从控制器中从名为stuff的属性中获取JSON数组。那部分很好用。我现在要做的是创建一个link函数,该函数将使用该数组的长度,并允许我重复TR和TD元素来创建一个格式良好的表。我在堆栈上找到了一个很好的例子,但我遇到的问题是我无法从link函数中的stuff属性中获取任何内容。我只是没有定义

控制器:

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>