小编Pra*_*inz的帖子

过滤以对JSON数据的角度js进行排序

我是角度js的新手,并且基本了解过滤器如何在角度js中工作.我很难对我的jSON数据数组进行排序,因为它有各种参数需要对它进行排序.

我的JSON数组采用以下格式:

[
  {
     type:0,
     emp_name:"xyz",
     connected_on:"9876543210"
  },
  {
     type:1,
     emp_name:"",
     connected_on:"9876543210"
  },
  {
     type:1,
     emp_name:"abcd",
     connected_on:"9876543210"
  },
  {
     type:0,
     emp_name:"pqr",
     connected_on:"9876543210"
  }
]
Run Code Online (Sandbox Code Playgroud)

同一阵列的其他组合可以是:

[
  {
     type:0,
     emp_name:"",
     connected_on:"9876543210"
  },
  {
     type:1,
     emp_name:"xyz",
     connected_on:"9876543210"
  },
  {
     type:0,
     emp_name:"abcd",
     connected_on:"9876543210"
  }
]
Run Code Online (Sandbox Code Playgroud)

每个数组都有任何一个对象,其中 type:1,将在那里,在排序之后它必须始终是第一个元素.

之后,排序后的数组应该包含emp_name:""的所有元素.

在排序数组的最后,它应该包含根据emp_name排序的所有剩余元素:"无论名称"

所以结果应该如下所示:

[
  {
     type:1,
     emp_name:"xyz",
     connected_on:"9876543210"
  },
  {
     type:0,
     emp_name:"",
     connected_on:"9876543210"
  },
  {
     type:0,
     emp_name:"abcd",
     connected_on:"9876543210"
  }
]
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我写过滤器以获得所需的结果.谢谢.如果需要任何其他信息,请告诉我.

此外,connected_on是唯一值,因此我使用JSONarr.connected_on跟踪

arrays sorting json angularjs angularjs-filter

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

Angular js输入框输入并暂停

我是角度js的新手,并且使用带角度js的xmpp服务,我有一种情况,我需要在用户开始输入输入框时发送输入,并在用户停止输入时暂停.

我有基本的想法,我需要使用$ timeout,并有一个变量,如 vm.isTyping = false;

我也为此写了一些平台.

vm.isTyping = false;
vm.checkTyping = function(){
    $timeout(function() {
        vm.isTyping = true;
    },2000);

    if(!vm.isTyping){
        vm.sendTyping();
    } else{
        //
    }
};
Run Code Online (Sandbox Code Playgroud)

这是输入字段代码:

<input type="text" placeHolder="Type a message here" 
    ng-model="vm.newMessage" 
    ng-blur="focusRemove(vm.newMessage,vm.contact)" 
    ng-change="vm.checkTyping()"
    ng-model-options="{'debounce': 500}" 
    ng-keydown="vm.onKeyDown($event)" auto-focus />
Run Code Online (Sandbox Code Playgroud)

我面临的问题是,每当用户按任意键时,我都无法发送打字,第一次按键时会发送一个打字,然后我会在用户停止输入时发送暂停.

任何人都可以帮我实现角度js中的代码来实现这一目标.

settimeout angularjs

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

Winston记录器文件名错误未定义

我是节点js的新手,我正在为我的项目尝试winston logger,一切正常但是当我试图创建我自己的记录器对象并将日志传输到文件名时我收到错误:TypeError:无法读取属性'filename'未定义的 我觉得我做了什么傻事,因为当我只是尝试使用winston默认对象将日志写入文件时,它可以工作,我发布我的代码与错误的快照.

我创建了简单的快速js项目,并在app.js中记录日志代码,如下所示:

/**
 * Module dependencies.
 */

var express = require('express'), routes = require('./routes'), user = require('./routes/user'), http = require('http'), path = require('path');

var app = express();

// all environments
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));

// development only
if ('development' == app.get('env')) {
    app.use(express.errorHandler());
}

app.get('/', routes.index);
app.get('/users', user.list);

// adding winston logger code--------------------
var winston = require('winston');
/*
 * winston.add(winston.transports.File, { filename: 'winstonLogs.log' …
Run Code Online (Sandbox Code Playgroud)

logging undefined node.js winston

4
推荐指数
1
解决办法
1277
查看次数