当前组件的state.breaker值为false.当捕获滚动事件时,它会查看state它false是否会执行某些操作.
我希望在动作重现之前有某种静态延迟,这就是为什么内部goTo函数state.breaker设置为true并将阻止当前方法的进一步逻辑,2s直到setTimeout将返回到false.
但是在当前时刻发生以下错误Uncaught TypeError:this.setState在setState内部调用时不是函数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) 我通过"双"导出遇到了当前的组件创建.你能解释一下它是否有真正的用途,或者只是作者的偏好?
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捆绑.
我确实为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) 我正在尝试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) 作为基本设置的示例,创建了一个索引。
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) 使用输入时发现了以下行为。当标签附加到具有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)
例如,如果我们想将元素向上移动 50px 以上的两个例子
示例 1
position: relative;
top: -50px;
Run Code Online (Sandbox Code Playgroud)
示例 2
transform: translateY(-50px);
Run Code Online (Sandbox Code Playgroud)
您能否解释一下未来行为可能存在的差异,或者可能存在的一些细微差别?
我已经为用户可以拥有不同帐户类型的网站实现了登录,例如:
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 A和Type B凭据,然后注销并最终再次尝试登录.
"问题":
当用户将选择Type A登陆,将重点放在用户名,浏览器会建议prefil领域,但两者Type A并Type B 会被浏览器提示.
问题
有没有办法以某种方式标记凭据在保存时的时间点,以便下次浏览器只建议相应的凭据.
PS:任何其他可能的解决方案或有价值的信息更受欢迎:)
更新
检查规格后:https:
//html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill
我已经添加autocomplete="section-uniqueGroupName"并确保了name和id是唯一的.
用户名登录
<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) 我在控制台中有以下消息:
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 upgraded from 1.9.1 to 1.11.9有什么办法可以挽回javascript大神们的青睐呢?
经过一番研究,找到了尤文先生的以下建议: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 ×7
reactjs ×3
html ×2
meteor ×2
autocomplete ×1
browser ×1
css ×1
ecmascript-6 ×1
forms ×1
indexeddb ×1
jquery ×1
mongodb ×1
node.js ×1
react-router ×1
vue.js ×1
vuejs2 ×1
webpack ×1