如何知道指令的最后一个元素何时在 AngularJS 中链接
How to know when the last element of a directive has been linked in AngularJS?
我有一个页面,其中包含我的指令中的多个元素。我需要用来自 API 的数据填充这些元素,并且我想通过一次 API 调用获取所有元素的数据。
在我的指令的 link 函数中,我将每个元素添加到数组中,因此我有一个所有元素的集合。这样,当我从 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>
如果指令在ng-repeat
内运行,则ng-repeat
指令会添加多个子作用域属性
您可以在指令中检查scope.$last
.
如果不是这种情况,您的问题需要更多关于如何使用指令的详细信息
相关文章:
- AngularJS:获取链接中没有哈希的查询字符串值
- 如何使用angularjs在iframe中嵌入来自数据库的视频链接
- AngularJs正在阻止链接被点击两次
- 为Angularjs制作超链接
- 从控制器Angularjs调用链接函数
- Angularjs如何在点击任何链接时掩盖整个身体
- $q.reject和处理AngularJS链接承诺中的错误
- (angularJS)使ng-click在ng-repeat上打开一个链接
- 如何摆脱AngularJS中的当前域URL链接
- 如何使用AngularJS链接下拉列表
- AngularJS链接$http获取请求
- 将异步 AJAX 调用与 Angularjs 链接起来
- angularjs链接功能的用途
- 使用AngularJS链接来自2个数据源的2个SELECTS
- angularjs链接发生在替换之前
- 如何使用python selenium点击angularjs链接
- AngularJS-链接函数中的作用域被重置,我做错了什么
- AngularJS -“链接承诺”中间还有其他函数
- AngularJS-链接和方法在嵌套ng重复中不起作用
- AngularJS:链接的问题,如何使用标记