小编vol*_*lna的帖子

反应.this.setState不是setTimeout中的函数

当前组件的state.breaker值为false.当捕获滚动事件时,它会查看statefalse是否会执行某些操作.

我希望在动作重现之前有某种静态延迟,这就是为什么内部goTo函数state.breaker设置为true并将阻止当前方法的进一步逻辑,2s直到setTimeout将返回到false.

但是在当前时刻发生以下错误Uncaught TypeError:this.setStatesetState内部调用不是函数setTimeout.

class Slide extends Component {
  constructor(props) {
    super(props)

    this.state = {
      breaker: false
    }

    this.scrollRedirect = this.scrollRedirect.bind(this);
  }

  componentDidMount() {
    this.refs.holder.addEventListener('mousewheel', this.scrollRedirect);
  }


  scrollRedirect(e) {

    const path = this.props.location.pathname,
    goTo = (route) => {
      this.setState({breaker: true});
      hashHistory.push(route);

      setTimeout(function () {
        this.setState({breaker: false});
      }, 2000)
    };

    if (!this.state.breaker) {
       ... …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

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

React:export const + export default vs export default

我通过"双"导出遇到了当前的组件创建.你能解释一下它是否有真正的用途,或者只是作者的偏好?

import React from 'react'
import DuckImage from '../assets/Duck.jpg'
import './HomeView.scss'

export const HomeView = () => (
  <div>
    <h4>Welcome!</h4>
    <img
      alt='This is a duck, because Redux!'
      className='duck'
      src={DuckImage} />
  </div>
)

export default HomeView
Run Code Online (Sandbox Code Playgroud)

PS:当前代码稍后由webpack2捆绑.

ecmascript-6 reactjs webpack

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

未找到MongoDB数据/ db

我确实为data/db提供了这条路径

/usr/local/Cellar/mongodb/3.2.6/data/db
Run Code Online (Sandbox Code Playgroud)

执行以下步骤以创建绑定到mongodb文件夹

sudo mongod --directoryperdb --dbpath /usr/local/Cellar/mongodb/3.2.6/data/db --logpath /usr/local/Cellar/mongodb/3.2.6/log/mongodb.log --logappend -rest
Run Code Online (Sandbox Code Playgroud)

在终端中初始化sudo mongod时,会出现以下错误:

2016-06-08T14:45:06.970+0200 I CONTROL  [initandlisten] MongoDB starting : pid=8107 port=27017 dbpath=/data/db 64-bit host=iMac-Krystyna-2.local
2016-06-08T14:45:06.970+0200 I CONTROL  [initandlisten] db version v3.2.6
2016-06-08T14:45:06.970+0200 I CONTROL  [initandlisten] git version: 05552b562c7a0b3143a729aaa0838e558dc49b25
2016-06-08T14:45:06.970+0200 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.2h  3 May 2016
2016-06-08T14:45:06.970+0200 I CONTROL  [initandlisten] allocator: system
2016-06-08T14:45:06.970+0200 I CONTROL  [initandlisten] modules: none
2016-06-08T14:45:06.970+0200 I CONTROL  [initandlisten] build environment:
2016-06-08T14:45:06.970+0200 I CONTROL  [initandlisten]     distarch: x86_64
2016-06-08T14:45:06.970+0200 I CONTROL  [initandlisten]     target_arch: …
Run Code Online (Sandbox Code Playgroud)

mongodb node.js

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

React-router:TypeError:无法设置undefined的属性'props'

我正在尝试Meteor使用react-router包设置路由并遇到以下问题TypeError:

链接到图像:https://postimg.org/image/v0twphnc7/

我使用的代码 main.js

import React from 'react';
import ReactDOM from 'react-dom';
import { Router, Route, IndexRoute, browserHistory } from 'react-router';

// Importing components
import App from './components/app';
import Portfolio from './components/portfolio/portfolio';


//Creating a route
const routes = (
  <Router history={browserHistory}>
    <Route path='/' component={App}>
      <Router path='portfolio' component={Portfolio} />
    </Route>
  </Router>
);


// Loading routes
Meteor.startup(() => {
  ReactDOM.render(routes, document.querySelector('.universe'));
});
Run Code Online (Sandbox Code Playgroud)

我设法识别的问题是,当我将投资组合定义为简单组件时,它可以工作.

const Portfolio = () => {
    return (
        <div className='red'>Portfolio …
Run Code Online (Sandbox Code Playgroud)

javascript meteor reactjs react-router

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

在已有的 objectStore 上创建索引

作为基本设置的示例,创建了一个索引。

db.onupgradeneeded = function(event) {
   var db = event.target.result;
   var store = db.createObjectStore('name', { keyPath: 'id' });
   store.createIndex('by name', 'name', { unique: false });
};
Run Code Online (Sandbox Code Playgroud)

问题:是否可以在相同的索引上创建/附加更多objectStore索引future versionupdate

因为如果我尝试:

db.onupgradeneeded = function(event) {
   var db = event.target.result;
   var store = db.createObjectStore('name', { keyPath: 'id' });

   store.createIndex('by newName', 'newName', { unique: false });
};
Run Code Online (Sandbox Code Playgroud)

它会抛出一个错误current objectStore does already exist。如果我尝试使用事务创建商店引用:

db.onupgradeneeded = function(event) {
   var db = event.target.result;
   var store = db.transaction('name', 'readwrite').objectStore('name');

   store.createIndex('by newName', 'newName', …
Run Code Online (Sandbox Code Playgroud)

javascript indexeddb

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

单击输入的标签会触发两次单击

使用输入时发现了以下行为。当标签附加到具有for属性的输入时,将发生两个单击事件。有人可以解释一下这个“异常”的行为吗?

如果有一种方法可以防止在仅单击标签的情况下在输入上发生单击,当然除了删除属性之外for

document.addEventListener(`click`, onClick)

var counter = 0;

function onClick(event) {
  ++counter
  console.log(counter)
}
Run Code Online (Sandbox Code Playgroud)
label {
  display: block;
  background-color: lightgrey;
  margin: 5px 0 5px;
}
Run Code Online (Sandbox Code Playgroud)
<input id='input'>
<label for='input'>I belong to input</label>
<label>I belong to no one</label>
Run Code Online (Sandbox Code Playgroud)

html javascript

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

位置:相对 vs 变换:翻译

例如,如果我们想将元素向上移动 50px 以上的两个例子

示例 1

position: relative;
top: -50px;
Run Code Online (Sandbox Code Playgroud)

示例 2

transform: translateY(-50px);
Run Code Online (Sandbox Code Playgroud)

您能否解释一下未来行为可能存在的差异,或者可能存在的一些细微差别?

css

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

浏览器登录自动完成

我已经为用户可以拥有不同帐户类型的网站实现了登录,例如:

A型(默认)

Username: characters and numbers
Password: characters and numbers
Run Code Online (Sandbox Code Playgroud)

B型(序列号)

Username: only numbers, min 10
Password: characters and numbers
Run Code Online (Sandbox Code Playgroud)

当用户访问登录表单时,首先允许他/她选择他们想要使用的登录类型,然后他们继续进行实际登录.

问题前提条件
用户已Offer to save passwords启用本机并已保存登录的凭据Type AType B凭据,然后注销并最终再次尝试登录.

"问题":
当用户将选择Type A登陆,将重点放在用户名,浏览器会建议prefil领域,但两者Type AType B 会被浏览器提示.

问题
有没有办法以某种方式标记凭据在保存时的时间点,以便下次浏览器只建议相应的凭据.

PS:任何其他可能的解决方案或有价值的信息更受欢迎:)

更新 检查规格后:https:
//html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill


我已经添加autocomplete="section-uniqueGroupName"并确保了nameid是唯一的.


用户名登录

<form>
<input type="text" name="login-userName" id="login-userName" autocomplete="section-userName">
<input type="password" name="password-userName" id="password-userName" autocomplete="section-userName>
<button type="submit">Submit</button>
</form>
Run Code Online (Sandbox Code Playgroud)

使用卡号登录

<form>
<input type="text" …
Run Code Online (Sandbox Code Playgroud)

html javascript browser forms autocomplete

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

Meteor-Bootstrap jQuery 错误版本

我在控制台中有以下消息:

Uncaught Error: Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v3.0.0
Run Code Online (Sandbox Code Playgroud)

在 .meteor > 版本文件中,它说它是jquery@1.11.9.

  • 我确实尝试过删除流星并分别重新安装 jquery 和 boostrap。
  • 还尝试首先在终端中手动将 .meteor 版本文件中的当前版本更改为 1.9.1,它说:
    jquery upgraded from 1.9.1 to 1.11.9
    但是在服务器重新启动后,当前版本又回到了 1.11.9

有什么办法可以挽回javascript大神们的青睐呢?

javascript jquery twitter-bootstrap meteor

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

v-on 单击,仅在满足条件时添加处理程序

经过一番研究,找到了尤文先生的以下建议:https : //github.com/vuejs/vue/issues/7349#issuecomment-354937350

所以我毫不犹豫地试了一下:

组件模板

<template>
  <div v-on='{ click: dataType === `section` ? toggleSectionElements : null }'>
    ... magic 
  </div>
<template>
Run Code Online (Sandbox Code Playgroud)

JS逻辑

<script>
export default {
  name: `product-section`,
  props: [`section`, `sectionName`, `depth`],
  methods: {
    toggleSectionElements() {
      ... magic 
    }
  },
  computed: {
    dataType() {
      if (this.$props.section.sections || this.$props.depth === 0) {
        return `section`
      } else {
        return `element`
      }
    }
  }
}
</script>
Run Code Online (Sandbox Code Playgroud)

但是对于描述的情况,它会在渲染过程中导致错误:

[Vue warn]: Invalid handler for event "click": got null
Run Code Online (Sandbox Code Playgroud)

有人可以建议做错了什么吗?:思维:

更新
方式Data Model如下: …

javascript vue.js vuejs2

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