小编adr*_*nmc的帖子

神秘的ESLint解析错误

在以下代码的第4行,ESLint给我一个解析错误说:

意外的令牌=

我想知道为什么会这样?代码运行正常.我究竟做错了什么?

import { Component, PropTypes } from 'react';

export default class MainApp extends Component {
  static propTypes = {
    children: PropTypes.any.isRequired
  }

  componentWillMount() {
    require('./styles/main.styl');
  }

  render() {
    return (
      <div>
        {this.props.children}
      </div>
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

javascript reactjs eslint react-jsx

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

django-rest-framework:为外键设置序列化程序

在我的模型中,我有两个名为:Vtable和的表Vdata.每个虚拟表(in Vtable)都有存储的虚拟数据条目Vdata.

我正在尝试制作一个可以显示Vdata每个对应列表的视图Vtable

我的序列化器不工作,我认为这是因为我正在向后做.我认为问题出在这一行: table_id = serializers.RelatedField(many=True)

作为参考,我收到此错误: 'Vtable' object is not iterable

这是我的models.py:

from django.db import models
from django.contrib.auth.models import User

class Vtable(models.Model):
    user = models.ForeignKey(User)
    table_name = models.CharField(max_length=200)
    added_date = models.DateTimeField('date added')
    def __unicode__(self):
        return self.table_name

class Vdata(models.Model):
    table_id = models.ForeignKey(Vtable)
    table_pk = models.IntegerField()
    column_1 = models.CharField(max_length=200)
    column_2 = models.CharField(max_length=200)
    added_date = models.DateTimeField('date added')
    def __unicode__(self):
        return str(self.added_date)
Run Code Online (Sandbox Code Playgroud)

这是我的serializers.py:

from django.contrib.auth.models import User, Group
from rest_framework import serializers …
Run Code Online (Sandbox Code Playgroud)

django django-rest-framework

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

Chrome上的HTML5桌面推送通知不一致/延迟

我正在编写一个聊天网络应用程序,需要能够通过通知API触发桌面推送通知:https://developer.mozilla.org/en-US/docs/Web/API/Notifications_API

不幸的是,似乎直到我通过用这个小提琴发出另一个通知才能显示通知:https://jsfiddle.net/yoshi6jp/Umc9A/

这是我正在使用的代码:

function triggerDesktopNotification() {
  function makeNotification() {
    var notification = new Notification('AppName', {
      body: 'You have a new message!',
      icon: '/favicon.ico',
    });
    notification.onclick = () => {
      notification.close();
    };
  }

  if (Notification.permission === 'granted') {
    makeNotification();
  }
  else if (Notification.permission !== 'denied') {
    Notification.requestPermission(function (permission) {
      if (permission === 'granted') {
        makeNotification();
      }
    });
  }
}
Run Code Online (Sandbox Code Playgroud)

我可以通过console.log()new Notification通话结束后立即确认代码正确执行.有趣的是,如果我把它放在alert()那里,当我看到警告框(导航回我的标签后)时会显示通知.

javascript html5 notifications

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

如何使用flexbox根据设备宽度重新流动div?

我试图根据设备宽度设置两种不同的布局,所以我更喜欢两者都有相同的HTML布局,只需在CSS中使用媒体查询.

在两台设备上,我都会有一个图像(由绿框表示),它始终位于屏幕的左上角.就在它旁边,标题div也总是在同一个地方.

最有问题的div是描述div.如果它在桌面上,则该div应该与标题对齐,但如果它在移动设备上,它应该独立于图片下面.

下面的图像是使用float生成的,但是使用float也不理想,因为如果描述div足够长,它最终会流向左边(在桌面上),这不是所需的外观.在桌面上,它应该始终是两个清晰的列,描述不应该最终在图像div下面流动.

期望的输出

我很欣赏有关如何使用flexbox执行此操作的任何指导,谢谢!

作为参考,这是我对float的尝试(注意我不想使用float):

<!DOCTYPE html>
<html>
<head>
<style>
.div1 {
    float: left;
    width: 100px;
    height: 50px;
    margin: 10px;
    border: 3px solid #73AD21;
}

.div2a {
    border: 1px solid blue;
}

.div2b {
    border: 1px solid red;
}


.div3 {
    float: left;
    width: 100px;
    height: 50px;
    margin: 10px;
    border: 3px solid #73AD21;
}

.div4a {
    border: 1px solid blue;
}

.div4b {
    border: 1px solid red;
    clear: left;
}
</style>
</head>
<body>

<h2>On Desktop</h2>
<div class="div1">div1</div>
<div class="div2a">div2a …
Run Code Online (Sandbox Code Playgroud)

html css flexbox

8
推荐指数
2
解决办法
196
查看次数

如何保存范围对象(来自 getSelection),以便我可以在不同的页面加载上重现它?

我正在尝试制作一个网络应用程序,允许用户选择页面上的一些文本,然后单击另一个按钮突出显示它。当用户返回页面时,我希望突出显示也显示在同一位置。

所以我已经做到了:

var selectedRange = document.getSelection().getRangeAt(0);
highlightRange(selectedRange);
Run Code Online (Sandbox Code Playgroud)

其中highlightRange是一个突出显示范围的函数。到目前为止这有效。

问题是,我需要一种方法将 selectedRange 保存到数据库中,以便稍后可以再次获取它。之后,我需要根据该数据重新创建范围并再次突出显示它。我找到了这个方法:

document.createRange();
Run Code Online (Sandbox Code Playgroud)

从这里页面:https ://developer.mozilla.org/en-US/docs/Web/API/range

但我不太确定如何才能完成这项工作

更新:

我知道之后我需要从头开始重新创建范围。为此,我将使用这样的东西:

var range = document.createRange();

range.setStart(startNode,startOffset);
range.setEnd(endNode,endOffset);
Run Code Online (Sandbox Code Playgroud)

我可以轻松存储 startOffset 和 endOffset 因为这些只是数字。但startNode和endNode是节点对象。我不知道如何将其存储在数据库中?

更具体地说,我需要将对节点的引用存储在数据库中。

html javascript jquery dom

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

如何对现有列表项使用 CSS 转换来为新列表项腾出空间?

假设我有以下 HTML:

<ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>AlwaysAtTheEnd</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

在列表项 3 之后,我将使用 javascript 插入列表项 4。发生这种情况后,HTML 将如下所示:

<ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>AlwaysAtTheEnd</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

但是,我希望“AlwaysAtTheEnd”项目能够平滑地向下滑动以为新项目腾出空间,而不是立即弹出来腾出空间。

我尝试简单地添加以下 CSS,但它似乎没有任何影响:

li {
    -webkit-transition: all 1s ease-in-out;
    -moz-transition: all 1s ease-in-out;
    -o-transition: all 1s ease-in-out;
    transition: all 1s ease-in-out;
}
Run Code Online (Sandbox Code Playgroud)

在这里小提琴: http: //fiddle.jshell.net/pcsj2mgb/

编辑:固定小提琴:http://fiddle.jshell.net/pcsj2mgb/1/

html javascript css

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

扩展Elm教程表单应用程序以包含编号输入Age

我一直在关注本教程:http://guide.elm-lang.org/architecture/user_input/forms.html

那里的文字对我有意义,我的问题与它在页面底部列出的练习有关.它问我:

"为年龄添加一个额外字段,并检查它是否为数字."

我对此有困难,因为onInput函数似乎只接受String输入.我觉得很奇怪,type="number"输入没有等价物.

然而,这是我的尝试不起作用:

import Html exposing (..)
import Html.App as Html
import Html.Attributes exposing (..)
import Html.Events exposing (onInput)
import String exposing (length)

main =
  Html.beginnerProgram { model = model, view = view, update = update }


-- MODEL

type alias Model =
  { name : String
  , password : String
  , passwordAgain : String
  , age : Int
  }


model : Model
model =
  Model "" "" "" 0


-- …
Run Code Online (Sandbox Code Playgroud)

elm

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

如何使用RxJS显示"用户正在打字"指示?

我知道一点BaconJS,但现在我正在尝试通过创建"用户输入..."指示器来学习RxJS.它非常简单,可以用两个简单的规则来解释:

  1. 当用户键入时,指示符应立即可见.
  2. 当用户停止输入时,指示器应该在用户上次键入操作后1秒钟仍然可见.

我不确定这是否正确,但我到目前为止创建了两个流:

  1. 一个心跳流,0每秒发出一次.
  2. 一个流捕获用户键入事件并1为每个事件发出一个.

然后我将它们合并在一起,然后只需点击结果.如果是a 1,那么我会显示指标.如果它是a 0,那么我隐藏指标.

这是看起来像:

const showTyping = () =>
  $('.typing').text('User is typing...');

const showIdle = () =>
  $('.typing').text('');

// 1 second heartbeats are mapped to 0
const heartbeat$ = Rx.Observable
  .interval(1000)
  .mapTo(0);

// user typing events are mapped to 1
const input$ = Rx.Observable
  .fromEvent($('#input'), 'input')
  .mapTo(1);

// we merge the streams together
const state$ = heartbeat$
  .merge(input$)
  .do(val => val === 0 ? showIdle() : showTyping())
  .subscribe(console.log); …
Run Code Online (Sandbox Code Playgroud)

javascript rxjs rxjs5 rxjs-dom

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

如何突出显示文本,然后保存它,以便下次访问同一页面时它会出现?

我正在尝试编写一个网站,允许用户突出显示一些文本(将背景更改为黄色),然后应用程序将保存此内容,以便下次他或她返回该页面时,它已经变成黄色了(就好像他们从未离开过一样)。

这是两个问题合而为一的问题:

  1. 我可以使用 获取文本window.getSelection().toString(),但我不知道如何将其作为选择器,以便我可以将选择的背景更改为黄色。

  2. 我不知道如何获取选择的“地址”。我需要这个,以便我可以将其保存到数据库中,并在用户下次加载页面时将其设置为黄色。

编辑目前正在研究这个: https: //github.com/timdown/rangy

javascript css jquery

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

在 Web 浏览器中连接到以太坊节点

我收到此错误:

连接错误:无法连接到节点 http://localhost:8545,它正在运行吗?

我目前正在尝试将 Meteor 应用程序与私有测试网络上的节点一起使用。我也尝试在真实网络的真实节点上运行它。我能够访问 web3.eth 对象,但我似乎无法连接到我的节点!这太令人沮丧了!

我的应用程序在http://localhost:3000 上运行

我在启动节点时尝试了以下操作,但它们都不起作用(它们启动正常,但我无法通过浏览器连接到它们):

geth --networkid 8545 --genesis ~/genesis_block.json --datadir ~/.ethereum_experiment 控制台
geth --rpccorsdomain "*" --rpc --networkid 8545 --minerthreads "1" --datadir ~/.ethereum_experiment --mine

这是我用来在浏览器控制台中设置提供程序的内容:

web3.setProvider(new web3.providers.HttpProvider("http://localhost:8545"));

ethereum

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