我想将 Typescript 用于我的 Google Apps Script (GAS) 项目,但我找不到将我的代码编译为 GAS 接受的内容的方法。
GAS 不支持导出,而且 Typescript 似乎不喜欢通过全局范围访问变量(它需要导入/要求,从而导出)。
我正在寻找以下任何一种解决方案,我相信这些解决方案对我有用:
1) Babel 插件或类似的可以删除所有 Import 和 Export 语句及其属性名称(要求我不使用相同的方法名称,我不使用。
所以:
import MyLibrary from './library';
export function greetJohn() { MyLibrary.greet('John'); }
export default { greetJohn }
Run Code Online (Sandbox Code Playgroud)
变成:
function greetJohn() { greet('John'); }
Run Code Online (Sandbox Code Playgroud)
2)更改打字稿,使其可以看到全局范围
3) Babel 插件或类似的将所有 .ts 文件组合成一个 .js 文件并通过将每个文件视为对象/函数来转换导入/导出语句。
我的应用程序围绕一个HomeActivity,底部包含4个选项卡.这些选项卡中的每一个都是一个片段,所有这些片段都是从头开始添加(不替换),并且在点击相应的选项卡时隐藏/显示它们.
我的问题是每当我更改标签时,我的滚动状态都会丢失.展示该问题的每个片段使用a android.support.v4.widget.NestedScrollView(参见下面的示例).
注意:使用RecyclerView或ListView的片段由于某种原因保持其滚动状态.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include layout="@layout/include_appbar_title" />
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- Content -->
</android.support.v4.widget.NestedScrollView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我读了几篇关于保存实例状态的帖子(这个,例如那个),他们的解决方案要么在我的场景中不起作用,要么实际上不实用,因为我有4-12个不同的片段我需要修改使其工作.
使嵌套滚动视图在片段更改时保持滚动位置的最佳方法是什么?
我的应用程序有很多视图,它们是片段的容器(加载图像和其他视图),并依赖于API来获取图像.为了使设计的开发更容易,我想在我的xml中添加该图像的样本.现在,我将与FragmentContainer并使用不同的可见度值的虚设ImageView的一个RelativeLayout的android:visibility和tools:visibility.
有没有更好的方法来显示图像只是为了预览目的?我想在发布版本中编译预览视图.
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
tools:adjustViewBounds="true"
tools:src="@drawable/image"
tools:visibility="visible" />
<RelativeLayout
android:id="@+id/FragmentContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud) 我在 Windows 上使用 Android Studio 4.1.1,我想使用组合键“Alt+Shift+Left”和“Alt+Shift+Right”,但默认情况下这些组合键会在“代码”、“分割”和“设计”,我在键盘映射设置中看不到它们,即我找不到如何删除它们。我可以在键盘映射设置中设置两个键绑定,但它们将被忽略,并且视图模式将切换。
我总是将这些按键绑定用于其他目的,并且宁愿避免在 Android Studio 上使用与 Visual Studio Code 上不同的按键绑定集。
为了满足您的好奇心,我的常规用法是:
在单词内移动光标,例如camelCaseWord
Flow 似乎在一个新项目上产生了很多错误。我究竟做错了什么 ?
react-native init FlowProjectyarn add --dev babel-cli babel-preset-flowyarn add --dev flow-binyarn run flow(.flowconfig 由 init 生成)这是我得到的错误:
.flowconfig:53 Unsupported option specified! (unsafe.enable_getters_and_setters)
error Command failed with exit code 8.
Run Code Online (Sandbox Code Playgroud)
现在,如果我删除指定的行(和版本号),我会收到一堆以下两个错误:
Error: node_modules/react-native/Libraries/Inspector/Inspector.js:104
104: clearTimeout(_hideWait);
^^^^^^^^^ null. This type is incompatible with the expected param type of
733: declare function clearTimeout(timeoutId?: TimeoutID): void;
^^^^^^^^^ TimeoutID. See lib: /private/tmp/flow/flowlib_171966cc/core.js:733
Error: node_modules/react-native/Libraries/Lists/VirtualizedList.js:1094
1094: …Run Code Online (Sandbox Code Playgroud) android ×2
clasp ×1
commonjs ×1
flowtype ×1
keymapping ×1
preview ×1
react-native ×1
savestate ×1
typescript ×1
xml ×1