我一直在做一些javascript阅读,并且我已经收集到一个闭包只能访问闭包"包装"它,或者,你可能会说它是直接的父.现在我已经玩了一点,我在这个jsfiddle中看到即使是深层嵌套函数也可以访问定义的vars.
任何人都可以解释一下吗?或者解释一下我完全错了什么?
http://jsfiddle.net/tPQ4s/function runNums() {
this.topVar = 'blah';
return function(){
(function() {
(function() {
console.log(topVar);
})();
})();
}
}
var someFunc = runNums();
someFunc();
Run Code Online (Sandbox Code Playgroud)
- 使用Firebase应用程序密钥:所有身份验证方法都可以接受Firebase应用程序密钥而不是JWT令牌.这将授予服务器对整个Firebase数据库的完全读写权限.除非通过App Dashboard撤消,否则此访问权限永不过期.
我需要指导如何做到这一点.我不想使用任何auth
变量,因为我不会通过一些单一的静态密钥对用户进行身份验证,而是我的服务器.
那么我的安全规则是什么样的呢?
这是我到目前为止所拥有的.
安全rules.json{
"rules": {
".read": true,
".write": "secret == 'mykey'"
}
}
Run Code Online (Sandbox Code Playgroud)
我将如何在服务器端HTTP请求中实现此功能?我会创建一个名为secret
value 的标头,mykey
如下所示:
{"secret": "mykey"}
Run Code Online (Sandbox Code Playgroud) 我想制作一张类似于此处所示的可选州的美国地图。
资源除了下面的内容之外,我只想渲染美国的州,而不是多个国家。
在这个jsBin中,我希望看到在悬浮有一些弹出文本时突出显示的各个状态。但是,我实际上只看到美国的灰色背景轮廓,没有可辨别的州。
请提供一个可以完成任务的jsBin。
http://jsbin.com/jodesitoto/edit?html,输出<!DOCTYPE html>
<html>
<head>
<!---- >
https://developers.google.com/chart/interactive/docs/gallery/geochart#full
<!---->
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.charts.load('current', {'packages':['geochart']});
google.charts.setOnLoadCallback(drawRegionsMap);
function drawRegionsMap() {
var data = google.visualization.arrayToDataTable([
['State', 'Select'],
['US-AL', 0],
['US-AK', 0],
['US-AR', 0],
['US-AK', 0],
['US-AZ', 0],
['US-Colorado', 0],
['US-CO', 0],
['US-DE', 0],
['US-FL', 0],
['US-HI', 0],
['US-KS', 0],
['US-KY', 0],
['US-MI', 0],
['US-MO', 0],
['US-MS', 0],
['US-MT', 0],
['US-NE', 0],
['US-NJ', 0],
['US-NM', 0],
['US-NY', 0],
['US-OR', 0],
['US-PA', …
Run Code Online (Sandbox Code Playgroud) 我正在尝试安装最新版本nvm
(根据本文)我运行:
nvm install 4.0
Run Code Online (Sandbox Code Playgroud)
有效。但我想确保安装最新版本的 nvm,因为他们可能在文章撰写后发布了更新版本。
我可以运行命令来下载最新版本的 nvm 吗?
我在其中一个组件中有一个材料ui列表.当我单击此列表中的任何项目时,我转到另一个listView.我正在使用路由器去另一个listView.并使用onClick方法.每当我点击第一个列表的任何列表项时,我都会打印"firstList clicked".每当我点击第二个列表中的任何项目时,它会打印"secondList clicked".
这是我的问题:当我单击第一个列表的ListItem时,console.log("secondList clicked")也会自动打印出"firstList Clicked".我在第二个列表中有四个列表项,所以我的控制台打印输出如下所示
firstList Clicked secondList Clicked secondList Clicked secondList Clicked secondList Clicked
为什么会这样?
这是我的代码.
SecondList代码
class TagListItemDetails extends Component {
handleClick() {
console.log("secondList clicked")
}
handleButtonClick() {
browserHistory.push("TagList")
}
render() {
return (
<MuiThemeProvider>
<div>
<List id="parent-list-tags">
<ListItem primaryText="Kitchen" onTouchTap={this.handleClick()}/>
<ListItem primaryText="Beach" onClick={this.handleClick()}/>
<ListItem primaryText="Marriage" onClick={this.handleClick()}/>
<ListItem primaryText="Garden" onClick={this.handleClick()}/>
</List>
<div className="backButton">
<RaisedButton backgroundColor="#293C8E" label="Back" onClick={this.handleButtonClick} labelColor="white">
</RaisedButton>
</div>
</div>
</MuiThemeProvider>
);
}
}
const mapStateToProps =(state) =>{
return {
tags: state.tagReducer
};
};
function matchDispatchToProps(dispatch){ …
Run Code Online (Sandbox Code Playgroud) 我想用 CSS Grid 做两件看起来不兼容的事情:
align-items: center;
我希望每个单元格的内容以每个单元格的垂直轴为中心。
用颜色填充单元格的整个可用区域。当我应用该属性align-items: center;
并且没有用颜色填充整个区域时,内容会沿垂直轴被挤压。
我究竟做错了什么?我如何达到我想要的结果?CODEPEN DEMO
.grid {
align-items: center;
/* remove align-items property to see content fill entire cell area */
Run Code Online (Sandbox Code Playgroud)
我想用颜色填充每个单元格的全部内容。
内容沿垂直轴被挤压,不会用颜色填充单元格。
https://codepen.io/anon/pen/NaLoLZ?editors=1100
.HTML<div class="grid">
<div class="item1">item 1</div>
<div class="item2">item 2</div>
<div class="item3">item 3</div>
<div class="item4">item 4</div>
<div class="item5">item 5</div>
<div class="item6">item 6</div>
<div class="item7">item 7</div>
<div class="item8">item 8</div>
<div class="item9">item 9</div>
<div class="item10">item 10</div>
<div class="item11">item 11</div>
<div class="item12">item 12</div>
<div …
Run Code Online (Sandbox Code Playgroud) 如何<AppBar/>
在滚动时自动隐藏我的 Reactjs 组件,如图 1 所示?
<AppBar/>
滚动时自动隐藏
MyAppBar.js
import React from 'react';
import PropTypes from 'prop-types';
import { withStyles } from '@material-ui/core/styles';
import AppBar from '@material-ui/core/AppBar';
import Toolbar from '@material-ui/core/Toolbar';
import Typography from '@material-ui/core/Typography';
import Button from '@material-ui/core/Button';
import IconButton from '@material-ui/core/IconButton';
import MenuIcon from '@material-ui/icons/Menu';
const styles = {
root: {
flexGrow: 1,
},
grow: {
flexGrow: 1,
},
menuButton: {
marginLeft: -12,
marginRight: 20,
},
};
function ButtonAppBar(props) {
const { classes } …
Run Code Online (Sandbox Code Playgroud) 如何过滤掉没有附件的 Gmail 邮件?
我可以看到,为了包含带有附件的消息,我使用了以下查询:
has:attachment
Run Code Online (Sandbox Code Playgroud)
但是,我没有看到相反的方法。我寻求类似的东西:
!has:attachment
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
我正在尝试抓取和抓取一些网站以提取一些链接。我希望看到所有内容都hrefs
打印到我的控制台上。但是,我收到以下错误。
out [ Promise { } ] (节点:15908) UnhandledPromiseRejectionWarning:错误:协议错误(Page.navigate):目标已关闭。
我究竟做错了什么?
这个答案说错误消息意味着browser.close()
在我调用我的pageFunction
.
但我正在使用async await
,显然浏览器仍然对我关闭。
我该如何修复这个错误?
const domains = [...]
const pageFunction = async $posts => {
const data = [];
await $posts.forEach( $post => {
data.push( $post.href );
});
return data;
}
(async () => {
// start browser
const browser = await puppeteer.launch();
const page = await browser.newPage();
// loop over domains
const out = await domains.slice(-1).map( async domain => { …
Run Code Online (Sandbox Code Playgroud) 我有以下代码:
<paper-toolbar id="mainToolbar">
<paper-icon-button id="paperToggle" icon="menu" paper-drawer-toggle></paper-icon-button>
<div class="app-name">Dashbord</div>
<span class="flex"></span>
<paper-menu-button horizontalAlign="right" horizontalOffset="20" verticalAlign="top" verticalOffset="50">
<paper-icon-button icon="more-vert" class="dropdown-trigger"></paper-icon-button>
<paper-menu class="dropdown-content">
<paper-item>Share</paper-item>
<paper-item>Settings</paper-item>
<paper-item>Help</paper-item>
</paper-menu>
</paper-menu-button>
</paper-toolbar>
Run Code Online (Sandbox Code Playgroud)
菜单按钮按预期工作,但下拉列表horizontalAlign
和horizontalOffset
属性不会生效.
我让下拉菜单工作的唯一方法是对元素定义中的值进行硬编码:
<iron-dropdown
id="dropdown"
opened="{{opened}}"
horizontal-align="right"
vertical-align="top"
horizontal-offset="50"
vertical-offset="20"
open-animation-config="[[openAnimationConfig]]"
close-animation-config="[[closeAnimationConfig]]"
no-animations="[[noAnimations]]"
focus-target="[[_dropdownContent]]">
<paper-material class="dropdown-content">
<content id="content" select=".dropdown-content"></content>
</paper-material>
</iron-dropdown>
Run Code Online (Sandbox Code Playgroud) javascript ×2
material-ui ×2
reactjs ×2
asynchronous ×1
bash ×1
closures ×1
command-line ×1
css ×1
css-grid ×1
firebase ×1
gmail ×1
gmail-api ×1
google-api ×1
html ×1
node.js ×1
nvm ×1
polymer ×1
polymer-1.0 ×1
promise ×1
puppeteer ×1
react-redux ×1
react-router ×1
scroll ×1
security ×1