我所有的大学四年我一直在使用public
,并想知道的区别public
,private
和protected
?
还有什么可以static
做而不是什么都没有?
我正在使用Chartjs来显示折线图,这很好用:
// get line chart canvas
var targetCanvas = document.getElementById('chartCanvas').getContext('2d');
// draw line chart
var chart = new Chart(targetCanvas).Line(chartData);
Run Code Online (Sandbox Code Playgroud)
但是当我尝试更改图表的数据时会出现问题.我通过使用新数据点创建图表的新实例来更新图形,从而重新初始化画布.
这很好用.但是,当我将鼠标悬停在新图表上时,如果我碰巧检查了与旧图表上显示的点相对应的特定位置,则仍会触发悬停/标签,并且突然显示旧图表.当我的鼠标位于此位置时它仍然可见,并在离开该点时消失.我不希望显示旧图表.我想完全删除它.
在加载新画布之前,我试图清除画布和现有图表.喜欢:
targetCanvas.clearRect(0,0, targetCanvas.canvas.width, targetCanvas.canvas.height);
Run Code Online (Sandbox Code Playgroud)
和
chart.clear();
Run Code Online (Sandbox Code Playgroud)
但到目前为止,这些都没有奏效.关于如何阻止这种情况发生的任何想法?
这<img>
不像我期望的那样收缩包装min-width:100%
我试图收缩, <img>
直到高度或宽度与容器匹配
单击<iframe>
to切换容器形状中的任意位置
请尝试编辑
<img>
CSS:1)维持宽高比
2)容器DIV的覆盖整个表面区域
3)仅编辑图像
这种中心方法看起来有点草图,但它非常强大
我的问题具体是:即使父母调整大小,也要缩放<img>
父级的FILL(保持宽高比但覆盖整个表面)<div>
<div>
也许我可以以某种方式使用CSS flex盒布局或什么?也许是变换?
将HTML源设置为透明base64像素(信用CSS技巧)
<img id="img" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" />
Run Code Online (Sandbox Code Playgroud)
使用CSS背景属性
#img {
width: 100%;
height: 100%;
background: url(http://i.imgur.com/0BBsCUB.gif) no-repeat center;
background-size: cover;
}
Run Code Online (Sandbox Code Playgroud) 更新 - 相关:如何module.exports =
预置到webpack包?
我有webpack编译简单module.exports = "asdfasdf"
到foo.js
在server.js
我有一个节点var foo = require("./foo.js")
当我console.log(foo)
得到一个空物体{}
我究竟做错了什么??
我的webpack配置:
module.exports = {
entry: "./test.js",
output: {
filename: "./foo.js"
},
target: "node",
module: {
loaders: [
{
exclude: /(node_modules|bower_components)/,
loader: "babel?presets[]=react,presets[]=es2015"
}
]
},
devtool: "#source-map"
};
Run Code Online (Sandbox Code Playgroud) 使用Promises时,为什么不能在代码库的其他地方触发resolve
和reject
定义?
我不明白为什么resolve
和reject
逻辑应该在声明promise的地方进行本地化.这是一种疏忽,还是强制要求executor
参数?
我相信执行程序函数应该是可选的,并且它的存在应该确定promise是否封装了解决方案.如果没有这样的要求,承诺将更加可扩展,因为您不必立即启动异步.承诺也应该是可以重置的.它是一个1开关,1或0,resolve()
或reject()
.有迹象表明,可附接的并行和串行结果众多:promise.then(parallel1)
和promise.then(parallel2)
并且也promise.then(seq1).then(seq2)
但参考特权玩家无法解析/拒绝到交换机
您可以在以后构建结果树,但不能改变它们,也不能改变根(输入触发器)
老实说,连续结果的树也应该是可编辑的.假设你想要拼出一个步骤并在你宣布许多承诺链之后做其他事情.重建承诺和每个顺序功能是没有意义的,特别是因为你甚至不能拒绝或毁掉承诺......
我可以使用Babel编译JSX并通过全局命名空间导出变量吗?
我不想运行随机的Webpack服务器.
我已经把我的脑袋包裹在ES6,JSX,Babel和React周围,并且对另一个使这么简单的任务变得复杂的库不太关心
最终我想导出我的React类并导入另一个.从理论上讲,它应该只阻塞,直到满足依赖关系,我不明白这是一个反模式,因为我的所有代码和外部依赖都在本地缓存.
这是<script>
标签的默认行为,只是没有<script type="text/babel">
<script type="text/babel">
var message = "hello world";
</script>
<script type="text/babel">
console.log(message); // undefined
</script>
Run Code Online (Sandbox Code Playgroud)
我使用ES6导出和导入很好,但不是另一个随机文件服务器
我们有一个疯狂的DOM层次结构,我们已经在道具中传递JSX而不是嵌入子节点.我们希望基类管理显示子项的哪些文档,以及哪些子项停靠或附加到其关联文档窗口的顶部.
问题是我们正在传递深层嵌套的JSX,而状态管理/访问表单中的引用是一场噩梦.
我不想每次都重新声明每一行,因为这些行在基类中附加了额外的状态,而基类需要知道实际更改了哪些行.如果我不重新声明行,这很容易.
我不知道如何在Custom Form中实际处理JSX行.
render()
.如果CustomForm想要测量JSX元素或编写内联CSS怎么办?怎么可能在CustomForm.state中存在JSX元素,但也有一个ref
?我可以克隆元素并在CustomForm中保留一个虚拟DOM(带有引用),或者依赖基类来提供深度嵌套的安装ref
后备.shouldComponentUpdate
,重新声明该阶段文档(维护行对象引用),然后在总体集合上调用setState.this.state.stages.content[3].jsx
是唯一改变的东西,但是当它看到props.stages
改变时,我必须遍历BaseClass中每个阶段文档的每一行.处理JSX集合有一些技巧吗?难道我做错了什么?这一切似乎过于复杂,我宁愿不通过遵循一些反模式来恶化问题.
自定义表格:
render () {
return <BaseClass stages={this.stages()}/>
}
stages () {
if (!this._stages) this._stages = { title: this.title(), content: this.content() };
return this._stages;
}
title () {
return [{
canBeDocked: false,
jsx: (
<div>A title document row</div>
)
}
}
content () {
return [{
canBeDocked: false,
jsx: (
<div>Hello …
Run Code Online (Sandbox Code Playgroud) 我对 Node.js 没有太多经验,但似乎 http/https 文档非常糟糕,我无法弄清楚如何获取常见的响应头:
鉴于我下面的代码,我如何确定 statusCode 和响应标头?
const promiseResponse = new Promise((resolve, reject) => {
const fullResponse = {
status: '',
body: '',
headers: ''
};
const request = https.request({
hostname: testHostname,
path: testPath,
method: testMethod,
headers: {
'x-jwt': jwt,
'content-type': contentType,
}
});
request.on('error', reject);
request.on('response', response => {
response.setEncoding('utf8');
response.on('data', chunk => { fullResponse.body += chunk; });
response.on('end', () => {
fullResponse.body = JSON.parse(fullResponse.body);
resolve(fullResponse);
});
}); …
Run Code Online (Sandbox Code Playgroud) 我想设置我的元素的样式:
this.refs.element.style = {
...this.props.style,
background: 'blue',
};
Run Code Online (Sandbox Code Playgroud)
但显然你不能使用一个对象来设置ref的样式.我必须使用CSS样式字符串;
分隔prop:values
我知道大多数人都会在渲染功能中设置样式,但出于性能原因,我无法重复渲染.
这似乎是一个愚蠢的问题。假设我有一个接受对象的函数。如何将该对象强制转换为props
,但也可以解构props.id
为id
(在参数声明中)?
function go ({ id }) {
const props = arguments[0]; // how to do this with destructure?
console.log('props', props, 'id', id);
}
go({id: 2});
Run Code Online (Sandbox Code Playgroud)
javascript object destructuring ecmascript-6 object-destructuring