小编Jus*_*ani的帖子

如何重新抛出异常并保留堆栈跟踪?

这段代码:

try {
  try {
    throw 1;
  } catch (e, s) {
    print("$e $s");
    throw e;
  }
} catch (e2, s2) {
  print("$e2 $s2");    
}
Run Code Online (Sandbox Code Playgroud)

打印:

1 #0      main (file:///.../test.dart:34:7)

1 #0      main (file:///.../test.dart:37:7)
Run Code Online (Sandbox Code Playgroud)

因此原始堆栈跟踪完全丢失.是否有任何方法可以重新保留堆栈跟踪保留?

dart

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

如何在元素中设置自定义元素标签的样式?

我正在尝试设置自定义元素标记的样式,并且似乎无法在元素的<style>标记内执行此操作,或者至少我不知道要使用哪个选择器.我已经尝试过自定义元素的标签名称template,但是都没有工作.

<polymer-element name="my-test" constructor="MyTest">
  <template>
    <style>
      my-test {
        border: solid 1px #888; /* doesn't work */
      }
      .title {
        color: blue; /* works */
      }
    </style>
    <div class="title">{{ title }}</div>
  </template>
Run Code Online (Sandbox Code Playgroud)

我正在使用polymer.dart,所以它的实现可能会有一些滞后,但我想知道它应该如何在polymer.js中工作.

dart polymer

8
推荐指数
2
解决办法
1566
查看次数

如何在Dart中使用数据绑定禁用按钮?

在对类似问题的回答中,这已经超过一年了,我读到了在Dart(和聚合物 - 飞镖)中使用数据绑定禁用按钮的简单方法.

我当前的代码如下所示:

HTML:

...
<button id="btnPointDown" on-click="{{decrement}}" disabled="{{points == 0}}">\/</button>
...
Run Code Online (Sandbox Code Playgroud)

.dart:

...
@published int points = 0;

void increment() {
  points++;
}

void decrement() {
  points--;
}
...
Run Code Online (Sandbox Code Playgroud)

然而Dart似乎不再对残疾元素"聪明"了.

如何使用最新的Dart和Polymer来禁用使用数据绑定的按钮(或者如果不可能以编程方式)?

dart polymer dart-polymer

7
推荐指数
2
解决办法
6438
查看次数

如何在Dart中找到未使用的TCP端口?

我正在尝试启动一个进程并告诉它使用未使用的TCP端口.不幸的是,我启动的二进制文件不会探测未使用的端口.有没有一个像样的方法来探测Dart中的端口,以便我可以将其用作我的进程的参数?

我能想到的最好的是创建一个ServerSocket端口为0,然后关闭套接字并使用它的端口,但这对我来说似乎很烦人.

谁有更好的方法?

dart

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

如何从 Cloud Run 提供预压缩文件?

我将 Cloud Run 与 Node 运行时结合使用。我的静态文件服务器将提供 gzip 和 brotli 压缩文件(如果存在),因此我已为所有资产预先生成了它们。在本地,这效果很好,但一旦部署,Cloud Run 就会剥离内容编码响应标头,以便浏览器误解响应并呈现垃圾。

我找不到任何有关使用 Cloud Run 进行标头过滤的文档,但我在 App Engine 上找到了一些文档,表明它会过滤掉 Accept-Encoding 请求标头和 Content-Encoding 响应标头。如果是这种情况,我认为我的应用程序将提供未压缩的资源。

有人知道这是怎么回事吗?

google-cloud-run

5
推荐指数
0
解决办法
1069
查看次数

shadowRoot.getSelection()?

我有一个丰富的编辑器,我正在重写为一个 lit-element 自定义元素。我正在使用 Firefox(最新)进行测试。我正在尝试在自定义元素的 shadowDom 中(在方法中)获取内容可编辑元素的选择。

在 Firefox 调试器中),this.shadowRootshadowRoot 元素看起来是正确的,但this.shadowRoot.getSelection没有定义,即使DocumentOrShadowRootshadowRoot.getSelection()是在 shadow DOM 中获取选择的正确方法。任何人都可以阐明我缺少的东西吗?

非常感谢!

shadow-dom lit-element lit

5
推荐指数
2
解决办法
472
查看次数

如何在Polymer.dart 0.5中访问地图值/迭代地图

我正在研究我的第一个聚合物应用,我被卡住了.如何使用聚合物访问地图值?我有一个带有地图的课程.我可以在模板中迭代列表,但是如何从地图中获取所有值?

 query('#tmpl-question').model = q;
 query('#tmpl-answers').model = q.map_answers;


@observable
class Question extends PolymerElement with ObservableMixin{

  @observable
  Map<String,String> map_answers = toObservable({}); //new Map<String,String>();

  void initQuestion(){

    map_answers["false1"]="1";
    map_answers["true"]="42";
    map_answers["false2"]="2";}}
Run Code Online (Sandbox Code Playgroud)
        <template id="tmpl-answers" repeat>
        <p>
           <label for"a1" value="asdf"> HOW TO DISPLAY ALL MAP VALUES  //iterate over list elements with {{}}
        </p>
       </template>
Run Code Online (Sandbox Code Playgroud)

编辑:问题在于将对象分配q给模型.

不起作用:

Question q = new Question();
   query('#tmpl-question').model = q;
Run Code Online (Sandbox Code Playgroud)

如果你导入'package:polymer_expressions/polymer_expressions.dart'; 这将工作:

  TemplateElement template = query('#tmpl-question');
  template.bindingDelegate = new PolymerExpressions(globals: {
    'uppercase': (String input) => input.toUpperCase()
  });
  template.model = q; …
Run Code Online (Sandbox Code Playgroud)

dart polymer

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

Lit-element,如何连接TemplateResult?

我们有一个显示标题标题的自定义模板元素,我们希望扩展此组件,以便在单击按钮时也显示带有面包屑的标题标题。

示例代码:

      ... private getTemplateResultFromProperty: TemplateResult[] = []; ...
        
            //This works fine: 
            func1(): TemplateResult {
            return html`  
                  <custom-header-template
                    .data=${data}'>
                </custom-header-template>` 
        }


                 //Can't return concatenated header  
                 func2(): TemplateResult {
                //repeat does not work, this returns empty strings
                    return html`${repeat(this.getTemplateResultFromProperty, t => t)}`;
            
                } 
Run Code Online (Sandbox Code Playgroud)

我们只能在func2方法中通过指定数组元素而不使用 html`` 来返回并显示新标头,如下所示:return this.headerTemplateArray[1]但这不是我们想要做的。

错误消息:Uncaught (in promise) TypeError: Cannot read property 'split' of null at new Template (template.js:87)当我们尝试这样做时:return html`${this.getTemplateResultFromProperty}`;

在这种方法中, html`` 方法似乎对我们根本不起作用...所以我们怀疑我们使用Repeat() 的方式可能存在问题,或者我们以错误的方式连接/使用 TemplateResult 。

有任何想法吗?

插图

breadcrumbs web-component lit-element lit-html lit

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