小编use*_*720的帖子

angular2模板div点击检查元素是否有类

我目前有一些逻辑,我想简化,如果可能只使用html模板(点击)

我有一个可折叠的div,当点击时,变得"活跃"

目前我的div是:

<div class="collapsible-header blue darken-2" (click)="getDataForTable($event)">
Run Code Online (Sandbox Code Playgroud)

然后我检查元素的类列表

function getDataForTable($event: any){
  let classList = $event.target.classList;

  if(classList.contains("active")){
  //do nothing div is closing
  } else {
  //get data for table since we are opening the div to show the body
  }
}
Run Code Online (Sandbox Code Playgroud)

我希望这个(click)动作只有在类不是"活动"时触发(意味着当点击为"活动"时不会触发);

我怎么能用模板语法呢?

angular

13
推荐指数
2
解决办法
2万
查看次数

异步队列,文件流结束时如何知道两者完成

将async.queue与文件流一起使用时,我遇到了一个小问题

  1. 我有一个场景,我的文件流将完成
  2. 我将fileRead设置为true
  3. 但是队列将是空的并且已经被称为排水
  4. 这导致我的"完成"永远不会被召唤

在我的文件流"结束"并且队列为空之后说"结束队列"的正确方法是什么?

var fs = require('fs')
    , util = require('util')
    , stream = require('stream')
    , es = require('event-stream');

var async = require('async');

var fileRead = false;
var lineNr = 0;

var q = async.queue(function(task, callback) {
    task(function(err, lineData){
        responseLines.push(lineData);
        callback();
      });
  }, 5);

var q.drain = function() {
  if(fileRead){
    done(null, responseLines);
  }
}

var s = fs.createReadStream('very-large-file.csv')
    .pipe(es.split())
    .pipe(es.mapSync(function(line){
        s.pause();
        q.push(async.apply(insertIntoDb, line))
        s.resume();
    })
    .on('error', function(err){
       done(err);
    })
    .on('end', function(){
      fileRead = true;
    })
);
Run Code Online (Sandbox Code Playgroud)

或者是否有更好的使用异步,这将允许我这样做?异步处理逐行,如果其中一行有错误,则能够提前退出

javascript callback stream node.js async.js

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

使用单个加载器动画反应路由器从多个组件预加载数据

我有一个应用程序需要具有动态标头,从获取请求加载外部文件。

用户登录后,他们将被定向到门户/portal。我将布局定义为:

export const UserLayout = ({ children }) => <div><Header /><div className="body">{children}</div></div>
Run Code Online (Sandbox Code Playgroud)

这包括一个包含动态链接的标头,然后允许传递路由,因此不会在每次页面更改时加载标头。

export const UserLayout = ({ children }) => <div><Header /><div className="body">{children}</div></div>
Run Code Online (Sandbox Code Playgroud)

/login标头在从 重定向到后首先加载/portal。我在 redux 中设置了一个全局加载器,它基本上在获取数据时显示全屏加载动画。

我遇到的主要问题是,如何在单个请求中加载应用程序的两个部分?

例如,标题加载 ajax 内容,显示 redux 加载动画,然后停止。然后路线加载,还显示 redux 加载动画,然后停止。这会产生闪烁效果。

同时加载主要部分和子部分的最佳方法是什么?

reactjs redux react-router-v4

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