我正在尝试使用bootstrap scollspy来突出显示由角度中继器生成的列表项。在角度模型更改后刷新Bootstrap ScrollSpy
我遇到的问题是,我正在从角度控制器刷新滚动插件,然后角度将模型更改应用到视图。
确保在更新DOM本身(不仅仅是角模型)之后发生scrollspy('refresh')调用的角度方法是什么?
模板:
<div class="span2" id="addressList">
<ul class="nav nav-tabs nav-stacked affix">
<li ng-repeat="addr in addresses"><a href="#{{addr.id}}">{{addr.id}}</a></li>
</ul>
</div>
控制器:
$scope.httpSuccessCallback = function (data)
$scope.addresses.push(data);
$('[data-spy="scroll"]').scrollspy('refresh'); //calls $('#addressList .nav > li > a')
}
这可能已经说过1,000次了。但是你不想从你的控制器功能中进行DOM操作。你想要做的是创建一个处理所有它的指令。然后使用$ watch来触发更新来更新它。 –
我没有在我的控制器中进行任何DOM操作。我试图在角度生命周期中的适当点更新jQuery插件。似乎像$ watch可能仍然是正确的机制? –
你正在从DOM中选择一个元素,并绑定事件等等...... *那真的是我的意思是“DOM操作”。 Angular的文档很好地讲述了这一点。您不应该在控制器中引用DOM。 –