我有一个JS对象数组(例如文档中的段落),我想使用angularJS显示它们. ng-repeat似乎是我需要的指令:
<span ng-repeat="paragraph in paragraphs">{{paragraph.text}}</span>
但是,我需要做的不仅仅是在这个循环中显示它们的内容.我需要<div class="pagebreak" />在x像素之后插入分页符(仅用于视觉目的,例如:)(尝试WYSIWYG文档).
我的问题:
是否可以使用某种条件逻辑来计算前面段落垂直使用的像素数,如果超过x,则插入分页符div并重置计数器?
任何帮助/建议/方向非常感谢.
假设我有一个stringJSON 形式的对象数组:
string s = "[{\"name\":\"Person1\"},{\"name\":\"Person2\"}]";
Run Code Online (Sandbox Code Playgroud)
我想要的是一个字符串数组,每个字符串都是JSON 对象的字符串表示- 而不是对象本身。它应该是这样的:
string[] s = new string[]
{
"{\"name\":\"Person1\"}",
"{\"name\":\"Person2\"}"
};
Run Code Online (Sandbox Code Playgroud)
1) 我尝试的几乎每一次搜索都会获得数百万个关于如何使用(例如)Json.NET 简单反序列化 JSON 字符串的结果。这不是我想做的。
2)我尝试构建一个表示对象的类,以临时循环反序列化/序列化映射到数组中的每个字符串,但对象的模式是可变的(因此我只需要一个字符串表示)。
3)我尝试了一些正则表达式来尝试执行此操作,但是我的 JSON 字符串可以包含包含 JSON 字符串作为其值的字段(令人讨厌,但不受我控制),因此嵌套字符转义等在我决定之前让我部分发疯在这里求救。
这当然应该很简单?有人有任何指示吗?
我试图将多个路径作为参数传递给控制台应用程序,但我收到"路径中的非法字符"错误.似乎有些东西误认为"C:\test\"转义双引号的参数的最后两个字符.
例如,如果我在C#中创建一个新的空控制台应用程序,如下所示:
static void Main(string[] args)
{
Console.WriteLine(args[0]);
Console.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)
并在项目属性 - >调试下我添加一个命令行参数,如下所示:
然后我的输出看起来像这样:
如果正在评估/取消转义该值,为什么不\t成为标签?
如果该值未被评估/未转义,为什么会\"成为双引号?
(注意:我知道我可以解决这个问题,例如,修剪尾部反斜杠等.我正在寻求帮助,理解为什么参数似乎被部分评估)
我有一个React-Leaflet地图,我正在渲染div里面。
出于某种原因,与 div 的内容交互会导致下面的地图做出响应(例如:双击将缩放地图,拖动将平移地图) - 即使我正在调用e.stopPropagation()附加到 div 的处理程序。
据我了解,调用stopPropagation()应该阻止 DOM 事件到达地图本身。
为什么看起来stopPropagation()被忽略了?
我怎样才能在地图内渲染一个 div而不让它的事件冒泡到地图本身?
import { Map, TileLayer } from 'react-leaflet';
const MyMap = props => (
<Map zoom={13} center={[51.505, -0.09]}>
<TileLayer url={"http://{s}.tile.osm.org/{z}/{x}/{y}.png"} />
{/*
HOW do I get this div to NOT pass it's events down to the map?!?!
Why does e.stopPropagation() appear to not work?
*/}
<div
id="zone"
onClick={e => e.stopPropagation()}
onMouseDown={e …Run Code Online (Sandbox Code Playgroud) 我有一个项目,我一直在Ubuntu 12.04上的Eclipse 3.7.2中开发.最近,我重新构建了包含在包之间移动类的类层次结构.我没有移动我的主类("ob3.converter.Converter"),它包含我的public static void main(String[] args)方法.
现在,当我尝试运行它时,我得到:
Exception in thread "main" java.lang.NoClassDefFoundError: ob3/converter/Converter
Caused by: java.lang.ClassNotFoundException: ob3.converter.Converter
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: ob3.converter.Converter. Program will exit.
Run Code Online (Sandbox Code Playgroud)
我只是用Eclipse工作(在java中),它为我处理所有开销 - 因此我对这个错误或者可能导致错误的理解很少.我查看了我的运行配置/类路径等,但不知道该寻找什么,它没有结果.
有人能指出我正确的方向吗?我用谷歌搜索/搜索SO,大多数事情谈论一个清单文件,但我一直无法在任何地方找到它.我的工作区文件夹只包含我的源文件.
我可以验证:
public static void main(String[] args)方法.很感谢任何形式的帮助!
取(简化的)存储过程定义这里:
create procedure get_some_stuffs
@max_records int = null
as
begin
set NOCOUNT on
select top (@max_records) *
from my_table
order by mothers_maiden_name
end
Run Code Online (Sandbox Code Playgroud)
我想限制所选记录的数量,如果只 @max_records提供。
问题:
在真正的查询是肮脏和大; 我想避免重复此操作:
if(@max_records is null)
begin
select *
from {massive query}
end
else
begin
select top (@max_records)
from {massive query}
end
Run Code Online (Sandbox Code Playgroud)任意定点值感觉不对:
select top (ISNULL(@max_records, 2147483647)) *
from {massive query}
Run Code Online (Sandbox Code Playgroud)
例如,如果@max_records是null与{massive query}返回小于2147483647行,这将是相同的:
select *
from {massive query}
Run Code Online (Sandbox Code Playgroud)
或者是有某种惩罚的选择top (2147483647) *从表中只有50行? …
我想通过一个命令启动 3 个服务器。
我有package.json这样的脚本:
"serve_auth": "cd dev/mock/auth && nodemon --exec babel-node ./server.js --presets @babel/env",
"serve_db": "cd dev/mock/db && nodemon --exec babel-node ./server.js --presets @babel/env",
"start": "react-scripts start",
"develop": "./launch_script.sh"
Run Code Online (Sandbox Code Playgroud)
我有一个launch_script.sh像这样的脚本:
#!/bin/bash
( yarn serve_db ) & ( yarn serve_auth ) & ( yarn start )
Run Code Online (Sandbox Code Playgroud)
但这会在一个终端窗口中将它们全部打开,最终它们会互相绊倒。
我知道您可以从 VSCode GUI 打开新终端,但是是否可以从其中打开新终端?或者告诉 VSCode 打开 3 个终端,每个终端使用一个单独的命令?
您可以使用“SET”命令在 Windows 中设置环境变量:
set NODE_ENV=production
Run Code Online (Sandbox Code Playgroud)
您可以在 package.json 文件中指定短脚本:
"scripts": {
"buildDev": "set NODE_ENV=development && webpack",
"buildProd": "set NODE_ENV=production && webpack",
}
Run Code Online (Sandbox Code Playgroud)
这些工作完美,除了一件事:NODE_ENVwebpack 开始执行我的配置文件时的值是"development "- 注意尾随空格。
这会阻止我的配置文件检测到正确的环境(通过process.env.NODE_ENV)并返回适当的配置。
JavaScript 只有一种数字类型:64 位浮点数。
C使用 Javascript,我需要实现一个哈希算法,该算法设计为用 16 位无符号整数写入。
主要操作是这样的(伪代码):
uint16 n = 0;
string s = "abcd1234";
for (int i = 0; i < s.length; i += 1) {
n ^= (n << 2) + (n >> 3) + s[i];
}
return n;
Run Code Online (Sandbox Code Playgroud)
当然,当使用值时,这会产生一个结果,而如果是 64 位浮点,则会产生uint16不同的结果。n
到目前为止,我对该问题的最佳解决方案是使用如下函数(javascript)将每个按位运算的结果转换为 <= 16 位:
function uint16 (n) {
return parseInt(n.toString(2).slice(-16), 2);
}
Run Code Online (Sandbox Code Playgroud)
并执行如下操作(javascript):
for (var i = 0; i < s.length; i +=1 ) {
n ^= uint16(uint16(n << 2) + …Run Code Online (Sandbox Code Playgroud) 我正在尝试将 TypeScript 编译添加到现有的 Javascript 项目中。
AFAIK 这应该是可能的(甚至很容易),您可以通过代码库逐步传播 TS。不幸的是,这不是我所看到的 - 添加打字稿并尝试启动项目后,项目中的每个文件都出现此错误:
Definition for rule '@typescript-eslint/rule-name' was not found
rule-name我的源代码中的任何地方都没有该字符串的实例。
这是我的tsconfig.json:
{
"compilerOptions": {
"baseUrl": "src",
"noImplicitAny": false,
"sourceMap": true,
"target": "es5",
"lib": [
"dom",
"dom.iterable",
"esnext"
],
"allowJs": true,
"allowSyntheticDefaultImports": true,
"strict": false,
"forceConsistentCasingInFileNames": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"esModuleInterop": true,
"jsx": "react",
"skipLibCheck": true
},
"include": [
"src",
"types"
],
"exclude": [
"node_modules",
"build"
]
}
Run Code Online (Sandbox Code Playgroud)
我曾尝试添加"checkJs": false到配置并重新启动,但这并没有改变任何东西。
我一直无法在网上找到有关此“规则名称”问题的任何信息。看起来这确实是某种占位符文本,但我找不到来源。 …
我有一个非常复杂的问题很难解释.互联网上有很多关于这方面的讨论,但没有任何确定性.非常感谢任何帮助,或比我更好的解释.
本质上,我只是尝试使用带有VBA的UTF-16编写XML文件.
如果我这样做:
sXML = "<?xml version='1.0' encoding='utf-8'?>"
sXML = sXML & rest_of_xml_document
Print #iFile, sXML
Run Code Online (Sandbox Code Playgroud)
然后我得到一个有效的XML文件.但是,如果我将"encoding ="更改为"utf-16",我会从XML验证器中收到此错误:
Switch from current encoding to specified encoding not supported.
谷歌搜索告诉我,这意味着xml编码属性与文件使用的ACTUAL编码不同,因此我必须通过打开和打印命令创建utf-8文档.
如果我这样做:
With CreateObject("ADODB.Stream")
.Type = 2
.Charset = "utf-16"
.Open
.WriteText sXML
.SaveToFile sFilename, 2
.Close
End With
Run Code Online (Sandbox Code Playgroud)
然后我在文件的开头有一些时髦的字符(BOM),导致它无法通过XML验证.
如果我在Notepad ++中打开文件,删除BOM并将编码更改为"UCS-2",然后文件使用"utf-16"编码值进行验证(意味着UCS-2足够接近UTF-16无关紧要,或者XML能够Switch from current encoding在这两种类型之间.
我需要使用UTF-16,因为UTF-8不包括我正在导出的演示文稿中使用的所有字符.
问题:
如何让VBA像Notepad ++一样运行,创建一个UTF-16编码的文本文件,而没有可以填充XML数据的BOM?任何帮助非常感谢!
<Product>我想在用户访问时呈现 a /Products/1。
<CreateProduct>我想在用户访问时呈现 a /Products/new。
我的路由器看起来像这样:
<Route exact path="/Products/new" component={CreateProduct} />
<Route exact path="/Products/:productId" component={Product} />
Run Code Online (Sandbox Code Playgroud)
如果用户浏览到/Products/new,它会匹配两个路由并导致Product组件抛出错误 re: not find a products with the id new。
我在反应路由器文档中找不到任何内容来避免这种情况。我可能会使用这个黑客,但必须有一个“更好”的方法:
<Route exact path="/Products/new" component={CreateProduct} />
<Route exact path="/Products/:productId" render={renderProduct} />
Run Code Online (Sandbox Code Playgroud)
使用函数来渲染<Product>路线:
const renderProduct = props =>
props.match.params.productId === 'new'
? null
: <Product {...props} />;
Run Code Online (Sandbox Code Playgroud) 我有一个 ReactJS 固定高度的子组件,我想使用transition: height.
.slider-enter {
height: 0;
}
.slider-enter.slider-enter-active {
height: 3pc;
transition: height 1s ease-in;
}
.slider-leave {
height: 3pc;
}
.slider-leave.slider-leave-active {
height: 0;
transition: height 1s ease-in;
}
Run Code Online (Sandbox Code Playgroud)
这很有效,但是有问题的组件也有 aborder-top和 some padding-top。这不包括在高度过渡中,因此过渡不平滑。
例如:在“输入”时,边框和填充立即变得可见,然后组件的其余部分按预期显示。
您如何在transition: height规则中包含填充和边框的高度,或者是否有任何其他方法可以消除此问题?
反应组件:
var Box = React.createClass({
getInitialState: function () {
return {
open: false
};
},
render: function () {
var stuffs = this.state.open ? <div className="sub" /> : …Run Code Online (Sandbox Code Playgroud)