小编Maa*_*ten的帖子

使用模板字符串预编译 TypeScript Vue 组件

我有一个使用 Webpack 构建的 Vue 站点。我有一个包含组件的 TypeScript 文件:

// my-component.ts

import Vue = require('vue');

export default Vue.component("my-component", {
    template: "<div>I am a component</div>"
});
Run Code Online (Sandbox Code Playgroud)

当我尝试使用此组件时,我收到以下警告:

您正在使用 Vue 的仅运行时构建,其中模板选项不可用。要么将模板预编译为渲染函数,要么使用包含编译器的构建。

现在:我如何预编译这个模板?我知道我可以定义一个.vue文件,甚至可以在里面使用 TypeScript <script></script>,但我宁愿在纯 TypeScript 中定义我的组件,以便在 WebStorm 中获得良好的 TypeScript 支持。

这可能吗?


(我知道我也可以通过为包含编译器的构建创建别名来使用第二个选项,vue/dist/vue.js但我觉得这会给我带来性能损失。至少,它为我的构建增加了 20kb。)


typescript webpack vue.js vue-component

5
推荐指数
1
解决办法
3643
查看次数

在为Fusion Table进行SQL查询时出错403

我一直在尝试将项目迁移到新的API,但在尝试SQL查询时遇到以下错误,如下所示:

https://www.googleapis.com/fusiontables/v1/query?sql=SELECT*FROM 1KxVV0wQXhxhMScSDuqr-0Ebf0YEt4m4xzVplKd4&key = myKey

这是返回的内容:

{
 "error": {
  "errors": [
   {
    "domain": "usageLimits",
    "reason": "accessNotConfigured",
    "message": "Access Not Configured"
   }
  ],
  "code": 403,
  "message": "Access Not Configured"
 }
}
Run Code Online (Sandbox Code Playgroud)

但是,以下查询确实有效:https: //www.googleapis.com/fusiontables/v1/tables/1bTX-w0Lt6nT8jq4R0q2pwFvuN_X5iPDOKHWFhw/columns?key=myKey

我究竟做错了什么?

json jsonp http-status-code-403 google-fusion-tables

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

使用CSS设置XML样式时,如何引用包含句点或冒号的标记名称?

我正在设计一个包含像<a.b></a.b>或等标签的XML文档<b:c></b:c>.当然,如果我写CSS规则就好

a.b {
} 

b:c {
}
Run Code Online (Sandbox Code Playgroud)

它不起作用,因为这些字符将分别被解释为类和伪类.有没有办法用CSS引用这些标签名称?(我不想使用XSL ......)

css xml css-selectors

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

在JSON-LD中,是否可以扩展上下文?

我有一个JSON-LD文档.

{
  "@id": "VDWW1LL3MZ",
  "first_name": "Vincent",
  "last_name": "Willems",
  "knows":["MartyP"],
  "@context": {
    "foaf": "http://xmlns.com/foaf/0.1/",
    "first_name": "foaf:givenName",
    "last_name": "foaf:familyName",
    "knows": "foaf:knows",
    "MartyP": { 
      "@id": "http://example.com/martyp",
      "first_name": "Marty",
      "last_name": "P"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

现在,本文档的部分上下文是在运行时(Marty P对象)生成的,但foaf前缀定义是静态的,并且对每个文档都重复.

如果我有10个前缀定义,将它们放在每个文档中会感到浪费.所以我想做点什么

generated document:

{
  "@id": "VDWW1LL3MZ",
  "first_name": "Vincent",
  "last_name": "Willems",
  "knows":["MartyP"],
  "@context": {
    "@extends": "http://example.com/base_context.jsonld",
    "MartyP": { 
      "@id": "http://example.com/martyp",
      "first_name": "Marty",
      "last_name": "P"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

base_context.jsonld:

  {
    "foaf": "http://xmlns.com/foaf/0.1/",
    "first_name": "foaf:givenName",
    "last_name": "foaf:familyName",
    "knows": "foaf:knows"
  }
Run Code Online (Sandbox Code Playgroud)

这可能吗?

semantic-web linked-data json-ld

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

不要在 Compose 中裁剪 AndroidView 的边界

来自AndroidView 文档

AndroidView会将其内容剪辑到布局边界,因为被剪辑是Views 做出的常见假设 - 禁用剪辑可能会导致意外的绘制行为。请注意,这与 Compose 保持剪辑选择加入的做法不同,默认情况下处于禁用状态。

这似乎表明有一种方法可以关闭剪辑,但我无法做到这一点。

我试过了:

  • Modifier.graphicsLayer(clip = false)AndroidView
  • clipToPadding = falseView
  • clipToOutline = falseView
  • clipChildren = falseView

是否可以关闭剪辑?

android android-jetpack-compose

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

setEmptyView()似乎不适用于(Sherlock)ListFragment

我有一个ListFragment,我想设置其空视图,所以我使用以下代码:

View emptyView = getLayoutInflater().inflate(R.layout.collection_empty_view, null);
detailFragment.getListView().setEmptyView(emptyView);
Run Code Online (Sandbox Code Playgroud)

对于以下xml布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/empty"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/tv_empty"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:gravity="center"
        android:text="@string/empty_collection" />

    <Button
        android:id="@+id/btn_add_legislation"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="addText"
        android:text="@string/action_add_text" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

但没有出现!

我试过了detailFragment.getListView().setEmptyText(),那确实有效!我做错了吗?

android android-listview actionbarsherlock android-listfragment

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

单击视图时在视图上显示透明色高亮

所以.您知道当您点击Google+应用中的帖子时,整个视图会变为蓝色.我也希望这样做,但使用ImageView.

我有以下代码片段,将实际图像设置为背景,将选择器设置为主要资源.这看起来不错,但不尊重背景图像的scaleType:

      <ImageView
            android:id="@+id/painting_image"
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:background="@drawable/img"
            android:src="@drawable/selector"
            android:scaleType="centerCrop" />
Run Code Online (Sandbox Code Playgroud)

顺便说一下,@drawable/selector它只是一个显示透明颜色的选择器state_pressed:

<item android:state_pressed="true">
    <shape xmlns:android="http://schemas.android.com/apk/res/android">
        <solid android:color="#44521400" />
    </shape></item>
Run Code Online (Sandbox Code Playgroud)

如何在尊重scaleType的同时完成这项工作?

android

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

无法使用 RMagick 打开上传的图像文件

在我的 Rails 应用程序中,我有一个允许用户上传图像的表单。我的应用程序应该使用以下控制器方法调整图像大小。(POST 到此方法,params[:file]包含ActionDispatch::Http::UploadedFile已上传的内容:

 def resize_and_store
    file = params[:file]

    # resize image
    Magick::Image.read(file.tempfile).first
    newimg = image.resize(100,100)

    #etc... Store newimg
  end
Run Code Online (Sandbox Code Playgroud)

我收到以下错误,行上写着Image.read

Magick::ImageMagickError (no decode delegate for this image format `0xb9f6052c>' @ error/constitute.c/ReadImage/544):
Run Code Online (Sandbox Code Playgroud)

使用上传的 PNG 文件对此进行测试,似乎 RMagick 没有识别出临时文件是 PNG 文件。如果我读取本地存储的 PNG 文件,上面的代码确实可以工作,所以不可能是我缺少 PNG 解码器。我该如何解决这个问题以及为什么会发生这种情况?

ruby-on-rails rmagick imagemagick ruby-on-rails-4

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

为什么我的HashMap识别出不应该是键的哈希键?

我正在编写奥赛罗的游戏,我正在HashMap以下列方式存储在a 中找到的可能移动:

Hashmap<Matrix, PossibleMovesVector>
Run Code Online (Sandbox Code Playgroud)

Matrix是一个包含a的对象int[8][8],它描述了当前的电路板情况.它覆盖hashCode()equals()以下列方式.(这是必要的,因为hashCode()多维数组的标准不会查看嵌套数组的内容.)

@Override
public int hashCode() {
    final int prime = 31;
    int result = 1;
    result = prime * result + Arrays.deepHashCode(board);
    return result;
}

@Override
public boolean equals(Object obj) {
    if (this == obj)
        return true;
    if (obj == null)
        return false;
    if (getClass() != obj.getClass())
        return false;
    Matrix other = (Matrix) obj;
    if (!Arrays.equals(board, other.board))
        return false;
    return true;
}
Run Code Online (Sandbox Code Playgroud)

这似乎工作正常.但是当我测试它并在屏幕上绘制大约100块左右的新板时,我突然在控制台中收到以下消息:

已识别的hashCode xxxxxxxxxx
从HashMap获取移动... …

java hashtable hashmap

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

在Java,AWT中,似乎忽略了repaint-method而支持start-method

我正在构建一个棋盘游戏的applet,处理用户输入大致如下所示:

public void mousePressed(MouseEvent event) {
    int row = event.getX() / (getSize().width / 8) ;
    int column = event.getY() / (getSize().height / 8) ;
    if(possibleMove(column, row) {
        makeMove(column,row,whosTurn); 
        repaint();
        start();
    }
}
Run Code Online (Sandbox Code Playgroud)

人工输入后,计算机选择一个移动并调用repaint()和start(),就像这个方法一样.
但是屏幕似乎只有在计算机移动后才会更新,所以在调用start()之后.怎么会发生这种情况,因为在start()之前调用了repaint()?

我怀疑这可能是因为repaint()启动一个新线程(是吗?),但为什么它会等待start()?

当然,如果有必要,我可以提供更多代码.

java applet awt repaint

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

获取 9-patch 内容区域的大小

在我的应用程序中,我有一个功能,您可以在图像周围放置一个框架。

setBackground(Drawable)用来将框架的图像应用于ImageView. 当ImageView被点击时,我想内容区域(包含在帧中的图像)直到吹到屏幕的大小。为此,我需要知道整个视图和内容区域之间的区别,即边框的粗细。

有没有办法获得内容区域的大小?(访问View.getWidth()ImageView 会提供内容 + 边框。我正在尝试获取边框/填充。)

框架

android nine-patch

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

使用Stanford Core NLP的其他语言模型

我想使用荷兰模型进行Core NLP的命名实体识别.

我找到了一个来自OpenNLP的预训练模型,但它似乎与CoreNLP无法互操作.

这是为什么?我们仍然可以将Core NLP与英语,中文和西班牙语等语言一起使用吗?

stanford-nlp

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

在JavaScript中动态替换函数内容

你如何完全替换JavaScript中的函数?

我得到了这个代码,但它不起作用.但是DOM会更新.那是怎么回事?

<html>
<head>
    <script id="myScript" type="text/javascript">
        function someFunction() {
            alert("Same old.");
        }
    </script>
</head>
<body>

<input type="button" onclick="someFunction();" value="A button." />
<script>
    function replace() {
        var oldFunctionString = someFunction.toString();
        var oldContents = oldFunctionString.substring(oldFunctionString.indexOf("{") + 1, oldFunctionString.lastIndexOf("}") );
        var newCode = "alert(New code!);";        
        var newFunctionString = "function someFunction(){"+newCode+"}";
        var scriptTag = document.getElementById('myScript');

        scriptTag.innerHTML = scriptTag.innerHTML.replace(oldFunctionString,newFunctionString);
    }

    replace();
</script>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

JS 在这里

javascript

0
推荐指数
1
解决办法
1109
查看次数