我注意到我可以使用这样的私有变量:
var Hello = React.createClass(new (function(){
var name;
this.getInitialState = function() {
name = "Sir " + this.props.name;
return null;
};
this.render = function() {
return <div>Hello {name}</div>;
};
})());
React.render(<Hello name="World" />, document.getElementById('container'));
Run Code Online (Sandbox Code Playgroud)
为什么我不应该这样做?
感谢您的任何帮助
我试图在布局内使用伴随对象属性,但编译器无法识别它。
科特林班
class MyClass {
companion object {
val SomeProperty = "hey"
}
}
Run Code Online (Sandbox Code Playgroud)
XML布局
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:fancy="http://schemas.android.com/tools">
<data>
<import type="package.MyClass"/>
</data>
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@{MyClass.Companion.SomeProperty}"/>
</layout>
Run Code Online (Sandbox Code Playgroud)
我得到了这个错误:
e: java.lang.IllegalStateException: failed to analyze: android.databinding.tool.util.LoggedErrorException: Found data binding errors.
****/ data binding error ****msg:Could not find accessor package.MyClass.Companion.SomeProperty file:/path/to/my/layout.xml loc:21:67 - 21:103 ****\ data binding error ****
at org.jetbrains.kotlin.analyzer.AnalysisResult.throwIfError(AnalysisResult.kt:57)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules(KotlinToJVMBytecodeCompiler.kt:138)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:154)
...
Caused by: android.databinding.tool.util.LoggedErrorException: Found data binding errors.
****/ data binding error ****msg:Could not find accessor package.MyClass.Companion.SomeProperty …Run Code Online (Sandbox Code Playgroud) 我找不到这个场景的任何例子,所以我们走了:
我希望用户选择一个目录,加载其中的所有文件,更改它们,并保存此文件覆盖它或将新文件保存在同一目录中,而不询问他想要保存的位置.
我相信这是可能的,因为我在这里看到类似的东西(最后一段):http: //www.developer.com/lang/using-the-file-api-outside-the-sandbox-in-chrome-packaged-apps. HTML
任何答案将不胜感激,谢谢
编辑:感谢克里斯约翰森给我这个伟大的答案:
var fileHandler = function() {
var _entry = null;
this.open = function(cb) {
chrome.fileSystem.chooseEntry({
type: 'openDirectory'
}, function(dirEntry) {
if (!dirEntry || !dirEntry.isDirectory) {
cb && cb(null);
return;
}
_entry = dirEntry;
listDir(_entry, cb);
});
};
this.save = function(filename, source) {
chrome.fileSystem.getWritableEntry(_entry, function(entry) {
entry.getFile(filename, {
create: true
}, function(entry) {
entry.createWriter(function(writer) {
writer.onwrite = function() {
writer.onwrite = null;
writer.truncate(writer.position);
};
writer.write(new Blob([source], {
type: 'text/javascript'
})); …Run Code Online (Sandbox Code Playgroud) 如何在Service Worker中发出JSONP请求?
您可能知道,服务工作者没有document.因此,像这样的许多JavaScript方法不起作用.
我需要发出JSONP请求,因为Blogger API不使用CORS回答来自不同域的请求.
感谢您的答复.
嗯,我一直在找这个话题,但是没有找到,所以我会问你:
我需要频繁地在服务器上的数组上读写,所以我决定不使用数据库,但我不知道最佳做法是什么?这将是很多数据,它可以是一个javascript数组吗?是否可以以非阻塞方法进行读写但避免并发问题?
它是一个MMORPG,一个多人在线游戏,数据是所有玩家在线。该过程几乎将玩家所做的每一步都写在上面,然后再阅读。我在想一个子进程,或者一些可以更快和非阻塞地完成进程的东西,但我什至知道子进程是什么哈哈!
谢谢
我总是要将我的变量重新分配给标记为的另一个变量final:
public void method(int myvar) {
myvar = myvar + 1;
doSomething(myvar); //I need to change myvar before the lambda
final int newvar = myvar; //this line is stupid
//could be something like:
//makefinal myvar;
open(con -> {
doOtherThing(newVar);
});
}
Run Code Online (Sandbox Code Playgroud)
如果有另一种方式来声明我的变量在open调用之前不会被更改,那将会非常棒.
我想观察一个@Bindable通过Java,可以吗?
我读到我可以在此答案上观察到ObservableField:https : //stackoverflow.com/a/31885802/858257
但有时您需要原始字段,而最好的方法是使用@Bindable。