小编vsy*_*ync的帖子

与传统的命名空间相比,ES6导出/导入用例

我不明白为什么以及在什么情况下这将被使用..

我当前的Web设置包含许多组件,这些组件只是函数或工厂函数,每个组件都在自己的文件中,每个函数都"骑"到app命名空间,如:app.component.breadcrumbs = function(){...等等.

然后GULP只是组合了所有文件,最后我得到了一个文件,所以页面控制器(每个"页面"都有一个加载页面所需组件的控制器)可以加载它的组件,如:app.component.breadcrumbs(data).

所有组件都可以按需轻松访问,单个javascript文件可以很好地缓存所有内容.这种工作方式似乎非常好,从未发现这种工作方式存在任何问题.当然,这可以(并且是)很好地缩放.

那么ES6如何为功能输入比我描述的更好?

导入函数的处理是什么,而不是仅将它们附加到App的命名空间?让他们"依恋"更有意义.

文件结构

/dist/app.js                     // web app namespace and so on
/dist/components/breadcrumbs.js  // some component
/dist/components/header.js       // some component
/dist/components/sidemenu.js     // some component
/dist/pages/homepage.js          // home page controller

// GULP concat all above to
/js/app.js // this file is what is downloaded
Run Code Online (Sandbox Code Playgroud)

然后里面homepage.js看起来像这样:

app.routes.homepage = function(){
    "use strict";
    var DOM = { page : $('#page') };

    // append whatever components I want to this page
    DOM.page.append(
        app.component.header(),
        app.component.sidemenu(), …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6

4
推荐指数
1
解决办法
168
查看次数

检查数字是否有重复数字

如何检查一个数字是否在数字中(其中的任何位置)出现多次?


输入数字示例:

1, 10, 11, 1010, 1981
Run Code Online (Sandbox Code Playgroud)

输出应该告诉其中哪些有重复的数字:

false, false, true, true, true
Run Code Online (Sandbox Code Playgroud)

发布了jsperf 页面中给出的所有好的答案

javascript

4
推荐指数
1
解决办法
8377
查看次数

Web组件(本机UI)之间如何通信?

我正在尝试为我的UI项目之一使用本机Web组件,并且对于此项目,我没有使用任何框架或库(例如Polymer等)。我想知道在两者之间有什么最佳的交流方式或其他方式像我们在angularjs / angular中所做的那样的Web组件(例如消息总线概念)。

当前,在UI Web组件中,我正在使用dispatchevent发布数据和接收数据,正在使用addeventlistener。例如,有2个Web组件,ChatForm和ChatHistory。

// chatform webcomponent on submit text, publish chattext data 
this.dispatchEvent(new CustomEvent('chatText', {detail: chattext}));

// chathistory webcomponent, receive chattext data and append it to chat list
this.chatFormEle.addEventListener('chatText', (v) => {console.log(v.detail);});
Run Code Online (Sandbox Code Playgroud)

请让我知道实现此目的的其他方法。任何可以轻松与本机UI Web组件集成的优秀库,如postaljs等。

html javascript web-component custom-element native-web-component

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

带有 React 和 Hooks 的 IntersectionObserver

我正在尝试使用 React/Hooks 和 Intersection Observer API 跟踪元素可见性。但是,我不知道如何使用“useEffect”设置观察。有谁知道我该怎么做?我的解决方案不起作用...

function MainProvider({ children }) {
  const [targetToObserve, setTargetToObserve] = useState([]);

  window.addEventListener("load", () => {
    const findTarget = document.querySelector("#thirdItem");
    setTargetToObserve([findTarget]);
  });

  useEffect(() => {
    const observer = new IntersectionObserver(
      ([entry]) => {
        if (entry.intersectionRatio === 0.1) {
          console.log("It works!");
        }
      },
      {
        root: null,
        rootMargin: "0px",
        threshold: 0.1
      }
    );
    if (targetToObserve.current) {
      observer.observe(targetToObserve.current);
    }
  }, []);

  return (
    <main>
     <div className="Section-item" id="firstItem"></div>
     <div className="Section-item" id="secondItem"></div>
     <div className="Section-item" id="thirdItem"></div>
    </main>
  );
}
Run Code Online (Sandbox Code Playgroud)

javascript reactjs intersection-observer react-hooks

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

React JS - onChange 函数被触发两次

我在 React 中处理日期输入时遇到问题。所以日期值来自graphQL,日期格式是dd.mm.yyyy但为了设置HTML日期输入的默认值,我将格式转换为yyyy.mm.dd并再次保存数据,反之亦然。

我正在保存状态中的日期并调用更改函数来更新值和转换格式。

问题是这个函数被触发两次onChange并返回NaN-NaN-NaN(在第二次运行时)但不是每次都只是有时(奇怪)。而且,对于某些日期,它可以正常工作,例如,02.03.2000没有错误并且只执行一次。

24两次在第二个呼叫(见截图)和错误。也许转换不知何故是错误的?如果我defaultValue从输入中删除,那么它只调用一次。

在此处输入图片说明

state = {
    newUser: {
      geburtsdatum: "01.02.2000"
    }
}

ConvertDate(htmlDate, format) {
    var date = new Date(htmlDate);
    var dd = date.getDate();
    var mm = date.getMonth() + 1;
    var yyyy = date.getFullYear();
    if (dd < 10) {
      dd = "0" + dd;
    }
    if (mm < 10) {
      mm = "0" + mm;
    }
    if (format === …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

4
推荐指数
1
解决办法
2910
查看次数

显示HTML5 &lt;input type =“ file”&gt;所选图像文件的预览图像

对不起,如果问题不对,

我想display特别是imageimg标签的时候<input type=file>

$(':input[type=file]').change( function(event) {
	var tmppath = URL.createObjectURL(event.target.files[0]);
	$(this).closest("img").attr('src',tmppath);
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="file" id="file1" name="file1">
    <font color="#FF0000">For best view upload only <b>200*250</b></font><div class="clear"></div>
    <img src="" id="img1" class="img1" height="100px" width="100px"><br>
<input type="file" id="file2" name="file2">
    <font color="#FF0000">For best view upload only <b>200*250</b></font><div class="clear"></div>
    <img src="" id="img2" class="img1" height="100px" width="100px"><br>
<input type="file" id="file3" name="file3">
    <font color="#FF0000">For best view upload only <b>200*250</b></font><div class="clear"></div>
    <img src="" id="img3" class="img1" height="100px" width="100px">
Run Code Online (Sandbox Code Playgroud)

这是我的jsfiddle

html jquery image

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

检查元素(DOM节点)是否是兄弟节点

如何检查两个DOM元素是否是兄弟姐妹?

示例DOM结构:

<div>
    <a></a>
    <b></b>
    <p></p>
</div>
<i></i>
Run Code Online (Sandbox Code Playgroud)

测试是否<b>是兄弟姐妹<a>而不是兄弟姐妹<i>

javascript jquery dom

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

为谷歌机器人抓取工具提供不同的页面

我有一个 SPA,里面有很多图像。我想将这些图像公开给搜索引擎。所以我想创建只有机器人才能看到的“特殊”页面。这些页面将包含有关图像的元数据。

是否可以让 googlebot 抓取一个页面,但将其索引为另一页面?

indexing seo bots googlebot google-crawlers

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

为react Component设置默认道具

我希望我的app组件有一个默认道具,并使用该道具 mapStateToProps.

集装箱/ App.js

import React, { Component, PropTypes } from 'react';
import { bindActionCreators } from 'redux';
import { connect } from 'react-redux';
import Footer from '../components/Footer';
import TreeNode from '../containers/TreeNode';
import Home from '../containers/Home';
import * as NodeActions from '../actions/NodeActions'

export default class App extends Component {

  constructor(props, context) {
    super(props, context)
    this.props = {
      info:{
        path:'/'
      }
    }
  }

  componentWillMount() {
    // this will update the nodes on state
    this.props.actions.openNode('/');
  }

  render() {
    const { node …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 reactjs redux

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

TortoiseGit - 更改默认合并消息

系统描述:

  • Windows 7的
  • git 版本 2.10.1.windows.1
  • TortoiseGit 2.3.0.0


我想要:

合并提交消息以完全自动化的方式不同(无需手动amend



概括:

在Windows下使用tortoiseGit,没有prepare-commit-msg 挂钩,只start-commit-hook不管钩子脚本是什么,我得到一个窗口弹出错误:

%1 is not a valid Win32 application
Run Code Online (Sandbox Code Playgroud)

另外,我宁愿更改“合并”的提交消息。



脚步:

设置钩子:

在此处输入图片说明

将工作树路径设置为与我的项目路径相同,
并在“执行命令行”中选择我准备的文件:

.git\hooks\prepare-commit-msg
Run Code Online (Sandbox Code Playgroud)

它的内容是echo "test".

然后我尝试提交并收到此错误:

在此处输入图片说明

我已经确定这个脚本文件确实是使用的文件,
因为如果我删除它,我会收到以下消息:

在此处输入图片说明

git tortoisegit

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