'x << ~y'在JavaScript中代表什么?
我理解按位SHIFT操作执行此操作:
x << y AS x * 2y
而代字号~运算符可以:
~x AS -(x+1)
Run Code Online (Sandbox Code Playgroud)
所以,我假设如下:
5 << ~3 AS 5 * 2-4 or 5 * Math.pow(2, -4)
它应该导致0.3125.
但是,当我运行5 << ~3它时,结果1342177280.
什么是逐步解释?这种操作组合如何以及为什么会导致1342177280而不是0.3125?
(这个问题类似于Stack Overflow问题什么是按位运算符?关于按位运算SHIFT符.)
我有一个无法编译的 React Typescript 应用程序。许多组件都有一个 render 方法,其类型为返回React.ReactNode或React.ReactElement。编译时,会报很多类似如下的错误:
TS2786: 'MessagesWidget' cannot be used as a JSX component.
Its instance type 'MessagesWidget' is not a valid JSX element.
The types returned by 'render()' are incompatible between these types.
Type 'React.ReactNode' is not assignable to type 'import("/home/node/app/node_modules/@types/react-calendar/node_modules/@types/react/index").ReactNode'.
Run Code Online (Sandbox Code Playgroud)
为什么编译器期望ReactNode与捆绑的类型相同react-calendar?我确实已@types/react-dom安装为开发依赖项。
其他可能相关的信息:
@types/react和@types/react-dom。然而,将这些软件包回滚到旧版本并没有解决问题。JSX.Element可以消除编译器错误,但应用程序中存在第三方组件,这是不可能的。我是jQuery 3的新手.以下是一个基本的小提琴,使用以前版本的jQuery,但不适用于jQuery 3
$(function() {
$.ajax({
url: '/echo/json',
type: 'GET',
dataType: 'json',
success: function(data) {
console.log(data)
}
});
})
Run Code Online (Sandbox Code Playgroud)
在控制台中,我收到此错误:
jquery-3.1.1.slim.min.js:2 jQuery.Deferred异常:$ .ajax不是函数TypeError:$ .ajax不是函数
jquery-3.1.1.slim.min.js:2未捕获的TypeError:$ .ajax不是函数(...)
为什么?
我已经决定将ViewEncapsulation要None为我在我的项目的所有组件.
那么,我如何设置ViewEncapsulation.None全局到整个项目?而不是在我的每个组件装饰器中设置它.
注意:仅供参考,我的deps在RC.6上
编辑:GünterZöchbauer提供的第二个解决方案也适用于2.1.2
我的应用程序中有一个按字母顺序排列的滚动条(ASB),大多数智能手机都在他们的Contacts应用程序中.
现在,我的手指在ASB上滚动到特定项目没有问题touchstart touchend click etc...但是,我在智能手机上捕获hover或mouseover事件时遇到问题.
我试过touchstart touchswipe touchend mouseenter mousemove或hover没有运气.
任何建议表示赞赏.
我试图为每个类名为 的元素分配一个单击事件director__card--iconBox。我选择这些元素的方式是通过getElementsByClassName. background-color在编写当前代码后,我正在测试将其父 div应用于红色的函数。最终目标是能够翻转 div 并显示稍后出现的 div 的背面。
const toggleButton = document.getElementsByClassName("director__card--iconBox");
toggleButton.forEach((el) =>
el.addEventListener("click", (event) => {
const card = event.target.parentElement.querySelector(".director__card");
card.classList.toggle("open");
})
);
Run Code Online (Sandbox Code Playgroud)
我正在取回一个 HTMLCollection。我的想法是,由于 HTMLCollection,这不会起作用?我尝试过 querySelectorAll 返回节点列表,但 NodeList 返回空。
我正在尝试学习 Next.JS 中的路由,但我无法获取查询对象。
文件路径:./src/pages/[test]/index.tsx
import { useRouter } from 'next/router';
export default function Test() {
const router = useRouter();
console.log(router.query);
return (
<div>
<h1>Test</h1>
</div>
)
}
Run Code Online (Sandbox Code Playgroud)
console.log只是打印{}
我正在创建一个新的 React 应用程序并尝试从头开始配置 webpack 编译器。运行构建命令时会出现此问题webpack -c config/webpack.config.ts- 它给出如下错误;
ERROR in containers:/App
Module build failed: UnhandledSchemeError: Reading from "containers:/App" is not handled by plugins (Unhandled scheme).
Webpack supports "data:" and "file:" URIs by default.
You may need an additional plugin to handle "containers:" URIs.
at /home/myuser/dev/projects/tsxpress-boilerplate/node_modules/webpack/lib/NormalModule.js:659:26
at Hook.eval [as callAsync] (eval at create (/home/myuser/dev/projects/tsxpress-boilerplate/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:6:1)
at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (/home/myuser/dev/projects/tsxpress-boilerplate/node_modules/tapable/lib/Hook.js:18:14)
at Object.processResource (/home/myuser/dev/projects/tsxpress-boilerplate/node_modules/webpack/lib/NormalModule.js:656:9)
at processResource (/home/myuser/dev/projects/tsxpress-boilerplate/node_modules/loader-runner/lib/LoaderRunner.js:220:11)
at iteratePitchingLoaders (/home/myuser/dev/projects/tsxpress-boilerplate/node_modules/loader-runner/lib/LoaderRunner.js:171:10)
at runLoaders (/home/myuser/dev/projects/tsxpress-boilerplate/node_modules/loader-runner/lib/LoaderRunner.js:397:2)
at NormalModule.doBuild (/home/myuser/dev/projects/tsxpress-boilerplate/node_modules/webpack/lib/NormalModule.js:646:3)
at NormalModule.build (/home/myuser/dev/projects/tsxpress-boilerplate/node_modules/webpack/lib/NormalModule.js:791:15)
at …Run Code Online (Sandbox Code Playgroud) 我有以下代码来保存我data当前的页面状态.
window.history.pushState({myData: data}, "RandomTitle", '#');
Run Code Online (Sandbox Code Playgroud)
但现在,我想保存另一个值scrollTop.如果我这样做
window.history.pushState({scrollTop: scrollTop}, "RandomTitle", '#');
Run Code Online (Sandbox Code Playgroud)
上面的代码将用新的代码替换历史状态,并且myData将消失.
现在的问题是有反正我可以补充scrollTop,同时有myData在我的历史状态?或者我只需要将它设置为最初,
window.history.pushState({myData: data, scrollTop: 0}, "RandomTitle", '#');
// To change the scrollTop in history state
window.history.state.scrollTop = $(window).scrollTop();
Run Code Online (Sandbox Code Playgroud)
我在想是否有类似的功能window.history.state.addObject.
javascript ×6
html ×2
jquery ×2
reactjs ×2
typescript ×2
ajax ×1
angular ×1
css ×1
dom ×1
ecmascript-6 ×1
jquery-3 ×1
mobile ×1
next-router ×1
next.js ×1
react-dom ×1
tsx ×1
webpack ×1
webpack-5 ×1