相关疑难解决方法(0)

ng-repeat完成事件

我想调用一些jQuery函数以div为目标.该表填充了ng-repeat.

我打电话的时候

$(document).ready()
Run Code Online (Sandbox Code Playgroud)

我没有结果.

$scope.$on('$viewContentLoaded', myFunc);
Run Code Online (Sandbox Code Playgroud)

没有帮助.

在ng-repeat群体完成后,有没有办法正确执行功能?我已经阅读了关于使用自定义的建议directive,但我不知道如何将它与ng-repeat和我的div一起使用...

javascript jquery document-ready angularjs angularjs-ng-repeat

203
推荐指数
7
解决办法
20万
查看次数

在网页中经常使用零延迟的setTimeout,为什么?

可能重复:
为什么setTimeout(fn,0)有时有用?

我注意到网页中的趋势,他们更频繁地使用setTimeout(function(){...},0)而不是仅仅进行调用.

我想知道为什么,找不到它的一些东西.除了它被用作避免堆栈溢出的技巧的原因.但对于它所使用的地方而言并非总是如此.

javascript settimeout

20
推荐指数
0
解决办法
7448
查看次数

如何在不重写父作用域的情况下将参数传递给指令?

我需要创建一个指令,该指令作用于表格单元格,其中使用表格行进行渲染ng-repeat- 为此,我部分地依赖于对题为"在ng-repeat完成时调用函数"的问题的答案.然而,与Q&A不同,我需要向我的指令传递一个参数,为此我部分依赖于这个答案(对于一个题为"Angularjs - 将参数传递给指令"的问题).

所以在我的情况下,我已经添加fixed-column-tooltip了我的指令,并columnselector作为其参数<tr>如下:

<tr fixed-column-tooltip columnselector=".td-keyField" ng-repeat="trData in trDataWatch">
Run Code Online (Sandbox Code Playgroud)

但是根据第二个答案,我将我所学到的内容添加到我的指令"隔离范围"中,根据第一个答案我不再能够访问原始范围:

'use strict';

angular.module('cmt.cases.directives')

.directive('fixedColumnTooltip', function ($timeout) {
    return {
        restrict: 'A',
        scope: {
            columnselector: '@'
        },
        link: function (scope, element, attr) {
            if (scope.$last === true) { //undefined because not operating on original scope
        ...
Run Code Online (Sandbox Code Playgroud)

有没有办法保持对原始范围的访问,但也有权访问columnselector参数?

javascript angularjs angularjs-scope angularjs-ng-repeat angular-directive

10
推荐指数
1
解决办法
2713
查看次数

ngRepeat和指令执行顺序

当Angular指令包含ngRepeat元素时,ngRepeat执行似乎在包含指令的链接执行之后发生.

是否有一种机制($ watch,$ observe等)可以用来在ngRepeat执行后连接响应?

以下是该行为的示例:http: //plnkr.co/edit/yBiSvveeSissU7Rik6Kp?p = preview

我想在输入可用的指令中的状态下操作.

我的主要目标是从contains指令更改ngRepeat的元素.

angularjs angularjs-directive angularjs-ng-repeat

5
推荐指数
1
解决办法
2025
查看次数

Angular指令等到ng-repeat将呈现

如何在AngularJS中制作自定义指令,等待ng-repeat进行渲染?

我坚持的问题是:在渲染li元素之前的指令init,所以DOM没有准备好,并且计算的块的高度不对.

这是我的代码

AngularJS

.directive('navCollapse', function(){
 return {
  restrict: 'A', 
  scope: {
     navItems: '=',
     navScrollOn: '='
  },
  link: function($scope, $element, $attrs) {
           var $navList = $element.find('ul'),
               navItemsChildren = $navList.children('li'),
               navItemsChildrenDefault = navItemsChildren.get(),
               navItemsChildrenGet = navItemsChildren.get(),
               showItems = ($scope.navItems !== undefined) ? $scope.navItems : 6,
               showItemsOnScroll = ($scope.navItems !== undefined) ? $scope.navScrollOn : navItemsChildren.length,
               isCollapsed  = false,
               calculateHeight = navItemsChildren.outerHeight() * showItems,
               calculateFullHeight = navItemsChildren.outerHeight() * showItemsOnScroll;
           $navList.wrap('<div class="links-wrap" style="max-height:'+ calculateHeight +'px"></div>');

           function sortNav(element) {
              element.sort(function(a,b){
                var keyA = $(a).find('a').text();
                var …
Run Code Online (Sandbox Code Playgroud)

javascript dom angularjs ng-repeat

5
推荐指数
0
解决办法
1305
查看次数

检测 $last 的指令不适用于 angular.js 中的 ng-if

我正在使用 angular.js 和 jquery 开发新闻提要页面。

我正在使用指令来检测要显示的最后一个提要。当它返回时scope.$last ==true,我调用一个函数来执行一些 Jquery 动画。

然后,我按日期将 ng-model 添加showYear到过滤器元素,并添加ng-if到过滤器元素。

我的问题是,当最后一个元素被过滤ng-if并且未呈现时,该指令无法检测scope.$last并运行feedPosition()

我尝试像下面的网址那样做,但它面临同样的问题:here

请帮忙。

这是我的代码:

HTML:

<div id="feedList">
    <div ng-repeat="feed in feeds | orderBy: '-date'" ng-if="show(feed.date)" feed-list-repeat-directive>
        //some content here
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

JavaScript:

<script>
var feeds = [{
    "type" : "publications",
    "source" :"AAA",
    "date" : new Date(2014, 4, 10),
    "title" : "title 2014",
    "thrumb" : "thrumb1.jpg"
},{
    "type" : "tvc",
    "source" : "BBB",
    "date" : …
Run Code Online (Sandbox Code Playgroud)

javascript jquery directive angularjs angularjs-directive

5
推荐指数
1
解决办法
1743
查看次数