我有一个包含指令中多个元素的页面。我需要使用来自API的数据填充这些元素,并且我想通过一次API调用来获取所有元素的数据。
在我的指令中的链接函数中,我将每个元素添加到数组中,所以我有一个所有元素的集合。这样,当我从API获得响应时,我可以使用正确的数据填充所有元素。但我不知道何时链接了最后一个元素,所以我不知道何时可以运行API调用,并确保获取所有元素的数据。我的问题是我该怎么做?我怎么知道前面的元素是DOM中的最后一个元素,所以我可以运行我的API调用并获取数据?
angular.module('myApp',[])
.directive('someElement', function (postContentFactory, $rootScope) {
var postElements = [];
function fetchData() {
console.log("I'm fetching data and putting it into the elements");
};
return {
link: function (scope, element, attributes) {
postElements.push(element);
// if this is last element of this kind in DOM, I
// want to run fetchData();
},
restrict: 'E',
templateUrl: 'templates/some-template.html'
}
}
)
<!-- HTML snippet that is server-side generated -->
<some-element id="12" type="someType"></some-element>
<some-element id="15" type="someType"></some-element>
答案 0 :(得分:0)
如果指令在ng-repeat
内运行,则有ng-repeat
指令添加的几个子范围属性
您可以在指令中查看scope.$last
。
如果不是这种情况,您的问题需要有关如何使用指令的详细信息