我对 angular.js 的第一次实验。
我有几列,每列都包含一些模板:
<div class="col-md-5 js-column" ng-repeat="orm in orms" repeat-done="equalHeight">
<h2>{{ orm.name }}</h2>
<ng-include src="'/inc/_compiled/'+orm.id+'.html'"></ng-include>
</div>
每个包含的模板都包含与其他模板相同的元素,但它们的高度不同。示例元素:
<pre data-task="model" class="task-model">
from django.db import models
class Teacher(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
</pre>
我想要实现的是为所有列中的特定元素设置相等的高度。这意味着所有人都pre.task-model
将具有相同的高度。
我创建了一些指令,想法是在ngRepeat
循环完成后触发它(scope.$last
)。但是当我尝试通过 jQuery/DOM 选择器访问包含的节点时,我什么也得不到。我知道每个模板都可以在element
变量中使用,但我还需要获取其他列。
var ormApp = angular
.module('ormApp', [])
.directive('repeatDone', function () {
return function (scope, element, attrs) {
if (scope.$last) {
$('.js-column pre.task-model'); //<- got nothing
}
};
})