【发布时间】:2017-02-18 07:06:46
【问题描述】:
这听起来很复杂,但是,我希望这里有人比我更有经验,并且可以毫不费力地整理出接下来的内容。
为了保持这一点,这一切都与分页部分相关,如下所示:有一个控制器通过 ajax 请求从测试页面中提取一些初始数据对象。这些数据对象与每个“小狗块”有关——它们用正确的数据填充小狗块指令的“小狗块”模板。
使用 ng-repeat 显示块(重复拉取的数据对象的数量) - 这代表一个页面。
分页是独立的,只是通过不同的ajax请求修改控制器数据。
我这里有这个ng-repeat:
<div class="puppiesContainer" ng-repeat="p in puppies track by $index">
<puppy-block></puppy-block>
</div>
它的目的是多次重复一个指令
<puppy-block></puppy-block> 指令模板是这样的:
<div class="puppyA" preview-pup>
<div class="clearfix puppyCover" dataPreview="{{p.dataPreview}}">
<a ng-href="{{p.link}}"><img ng-src="{{previewData[currentPosition]}}" /></a>
</div>
</div>
如您所见,每个元素上都有另一个名为preview-pup 的指令。
该指令的代码是这样的:
obApp.directive('previewPup', ['$timeout',function($timeout){
return {
restrict: 'A',
link: function(scope, el, attr){
//some code that needs to run often
}
}
}]);
我的分页指令在不同页面之间移动时会更改puppy-block 指令的数据,但是当发生更改时,我还需要在每个puppy-block 指令内触发preview-pup 指令的链接功能。分页指令和 ng-repeat 指令都有一个共同的控制器,它们从中提取数据(修改数据)。
我的问题是,例如,我不知道如何在ng-click 上手动触发指令的链接功能。我该怎么做?
【问题讨论】:
标签: angularjs angularjs-directive angularjs-scope