小编joe*_*ews的帖子

在 node.js 中尝试连接到 localhost:8080 时出现“无法获取 /”

我正在使用 node.js 作为后端服务器开发backbone.js 应用程序。该应用程序基于 twitter API。当向localhost:8080我请求时,我在浏览器中收到错误“无法 GET /”,我不知道是怎么回事。我的代码如下:

服务器.js

var express = require('express');
var app = express();

var Twit = require('twit')

var client = null;


function connectToTwitter(){
   client = new Twit({
      consumer_key:         'xxx'
    , consumer_secret:      'xxx'
    , access_token:         'xxx'
    , access_token_secret:  'xxx'
  });
}

//get the app to connect to twitter.
connectToTwitter();

var allowCrossDomain = function(req, response, next) {
response.header('Access-Control-Allow-Origin', "http://localhost");
response.header('Access-Control-Allow-Methods', 'OPTIONS, GET,PUT,POST,DELETE');
response.header('Access-Control-Allow-Headers', 'Content-Type');

if ('OPTIONS' == req.method) {
  response.send(200);
}
else {
  next();
}
}; …
Run Code Online (Sandbox Code Playgroud)

javascript node.js backbone.js

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

二叉树的级别顺序遍历

我想执行二叉树的级别顺序遍历.因此,对于给定的树,请说:

     3
    / \
   2   1
  / \   \
 4   6   10
Run Code Online (Sandbox Code Playgroud)

输出将是:

3 2 1 4 6 10
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用某种队列,但是在C中递归执行此算法的算法是什么?任何帮助赞赏.

c algorithm binary-tree

3
推荐指数
1
解决办法
9287
查看次数

按自定义字母顺序对数组进行排序

你如何对这样的数组进行排序:

['apple','very','auto','tom','tim','violet'....]
Run Code Online (Sandbox Code Playgroud)

按v,a,t,x,b ......等排序(不是alphebetical)

['violet','very','auto','tom','tim',...]
Run Code Online (Sandbox Code Playgroud)

在脚本中,我会做这样的事情:

myArray.sort('v','a','t'...)
Run Code Online (Sandbox Code Playgroud)

我怎么能在JavaScript中做到这一点?

javascript

3
推荐指数
1
解决办法
606
查看次数

方括号的函数声明如何在Node.js/Javascript中工作?

第一次看到像这样在Node.js的宣告功能.简而言之,代码与此类似

'use strict';
const Actions = {
  ONE: 'one',
  TWO: 'two',
  THREE: 'three'
};
class FunMap {

  run(action) {
    const map = this;
    map[action]();
  }

  [Actions.ONE] () {
    console.log("Performing action one");
  }

  [Actions.TWO] () {
    console.log("Performing action two");
  }

  [Actions.THREE] () {
    console.log("Performing action three");
  }

}

var funMap = new FunMap();
funMap.run('one');
funMap.run('two');
funMap.run('three');
Run Code Online (Sandbox Code Playgroud)

上面的程序将打印出来

Performing action one
Performing action two
Performing action three
Run Code Online (Sandbox Code Playgroud)

在Node.js/Javascript中是否有这种类型的函数声明的技术名称?

这一行如何将所有这些(通过使用带有字符串常量的方括号声明的函数)放入FunMap对象的属性函数中?

const map = this;
Run Code Online (Sandbox Code Playgroud)

[]javascript类中的方括号表示法是否引用了类本身?

javascript function square-bracket node.js ecmascript-6

3
推荐指数
1
解决办法
1071
查看次数

Angular.js无限消化循环,具有ng-repeat和过滤器

我在angularjs中创建了一个自定义过滤器,它按日期对我的元素进行分组.

这是HTML部分:

<table ng-repeat="(index, groupData) in something = (recentTasks | groupBy:dataGroupBy) track by $index">
Run Code Online (Sandbox Code Playgroud)

过滤器如下所示:

module.filter('groupBy', function () {
    return function(items, field) {
        var groups = [];

        switch (field) {
            case 'week':
                angular.forEach(items, function(item) {
                    var parsed = parseDateTime(item.date);
                    var date = new Date(parsed.year, parsed.month - 1, parsed.day);
                    var back = calculateWeeksBack(date);

                    if (groups[back] == undefined)
                    {
                        groups[back] = {
                            time_back: calculateWeeksBack(date),
                            tasks: []
                        };
                    }

                    groups[back].tasks.push(item);
                    groups[back].total_time += item.time;
                });

                break;

            case 'month':
                angular.forEach(items, function(item) {
                    var parsed = …
Run Code Online (Sandbox Code Playgroud)

javascript loops infinite digest angularjs

2
推荐指数
1
解决办法
6208
查看次数

如何在每个Marionette视图渲染上记录消息?

我有一个具有大量视图的Marionette应用程序.我想在每个渲染时将调试消息记录到控制台(并且可能在将来,在其他事件上)

我目前通过从每个View的onRender方法记录来执行此操作:

MyModule.MyViewType = Marionette.ItemView.extend({
    // ... view properties and methods

    onRender: function() {
      // ... other onRender code
      console.debug('MyModule.MyViewType %s %s', this.cid, 'render');
    }
});
Run Code Online (Sandbox Code Playgroud)

这有效,但它有几个缺点:

  • 必须手动将日志记录代码添加到每个视图.
  • 有几个视图没有自定义onRender操作,因此我只是为了调试而添加方法.那感觉不对.
  • 如果我想完全改变或删除日志记录方法(例如,去生产),我需要改变很多代码.
  • 如果我想为另一个事件添加代码,例如show,我需要为每个视图添加一个事件处理程序或一个新方法.

有没有办法记录每个View渲染而不向每个View添加代码?

javascript backbone.js marionette

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

在setState中更改object.item

如何通过setState更改getInitialState中的对象中的项?

例如:

getInitialState: function() {
  return {list: [
    {id:'1',
      title: 'The Baby Boss',
      year: '2017',
      quality: 'Blu-ray',
      stars: ['Fred Astaire, ', 'Humphrey Bogart, ', 'Marlon Brando, ', 'Richard Burton, ', 'Charlie Chaplin'],
      Show: false
    },
    {
      id:'2',
      title: 'Pirates of the Caribbean: Dead Men Tell No Tales ',
      year: '2016',
      quality: 'HDrip',
      stars: ['John Depp, ', 'Orlando Bloom, ', 'Javier Bardem, ', 'Kaya Scodelario, ', 'Brenton Thwaites'],
      Show: true
    }`
Run Code Online (Sandbox Code Playgroud)

更清晰.我已创建getInitialStaterender编辑它,并在屏幕上显示列表对象.我有按钮,我想点击它并改变其中一个对象的smth.通过列表中的项目我使用'map'功能.结果,我试图像下面的代码一样做:

this.setState({
  film.Show: false
})
Run Code Online (Sandbox Code Playgroud)

但这种方式不起作用.达到我的目标的哪种方式是正确的?感谢您的想法.

setstate reactjs

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