【发布时间】:2016-01-28 10:51:34
【问题描述】:
我对@987654321@有意见:
<div ng-controller="LogBtnCtrl">
<li class="item log-btn" ng-repeat="logItem in logBtns">
<div class="log-btn--graph">5,3,9,6,5,9,7</div>
</li>
</div>
我想在视图渲染后调用jQuery('.log-btn--graph')。
angular.controller('LogBtnCtrl', function($scope, TodayLogBtns) {
$scope.logBtns = [0,1,2,3,4];
$scope.$watch('logBtns',
function() {
console.log('a', $('.log-btn--graph').length);
});
console.log('b', $('.log-btn--graph').length);
});
但它给出了b 0 和a 0。
视图渲染后,我可以在控制台手动获取$('.log-btn--graph').length 为5。
所以我想当我打电话给b 和a 时,视图还没有呈现。那么,我应该把$('.log-btn--graph').length 的调用放在哪里以确保它是5?
【问题讨论】:
-
这应该在 DDO 中完成并且您的标记无效......:(
-
dom 代码不属于控制器......需要在指令中。控制器在视图编译之前运行。 jQuery 是干什么用的?
-
你为什么不检查
$scope.logBtns.length? -
第二个@Jai 说的。你正在使用 Angular,所以使用 Angular 的方法
-
我查过了。
$scope.logBtns.length是 5。@Jai
标签: javascript jquery angularjs angularjs-ng-repeat