Dart Polymer:将 html 文件绑定到脚本会导致包含"%5C"字符的 bootstrap.dart 损坏



在执行Pub Get和Pub升级后,我的自定义聚合物元素不再工作。在我看来,

<script type="application/dart" src="view.dart"></script>

解释不正确。在我的索引.html_bootstrap.dart中,它被列为: import 'dialog%5Cview.dart' as smoke_1; 无论如何,"%5C"( \ )应该是一个斜杠(/),我很确定它不应该被转义。我尝试了64位Windows的dart稳定版(1.8.5)和dev(1.9.0)版本。

我已经尝试将我的软件包恢复到以前的版本,但由于我没有在我的 pubspec 文件中约束它们,所以我无法确定哪些版本在我更改之前有效。在我正在从事的另一个飞镖聚合物项目中,我使用相同的设置(扩展聚合物元素),它仍然有效。index.html_bootstrap.dart 中的等效位置为:import 'dialog/view.dart' as smoke_1;

编辑)一些(缩短的)代码:

/web/dialog/error/view.html

<link rel="import" href="packages/polymer/polymer.html">
<link rel="import" href="packages/paper_elements/paper_dialog.html">
<link rel="import" href="packages/core_elements/core_animated_pages.html">
<polymer-element name="error-view">
<template>
    <style>
        paper-dialog {
            margin-top: 20px;
            height: 400px;
            width: 600px; }     
    </style>
    <paper-dialog id="extendedNode" heading="{{dialogtitle}}" vertical autoCloseDisabled=true transition="paper-transition-center" opened=true>
      <content> 
      <core-animated-pages selected="{{page}}" valueattr="id" transitions="hero-transition cross-fade">
            <section id="0">
                    <p  cross-fade>A system error occured while connecting with the server.</p>
                    <br>
                    <p  cross-fade>Error message: {{dialogtext}}</p>
          </section>       
    </core-animated-pages>
    </content>
    </paper-dialog>
  </template>
<script type="application/dart" src="view.dart"></script>
</polymer-element>
/

web/dialog/error/view.dart

import 'package:polymer/polymer.dart';
import '../view.dart'; // <- the base class 'DialogView'
  @CustomTag('error-view')
  class ErrorView extends DialogView{
    ErrorView.created() : super.created(){
    componentName = 'error-view';
    this.dialogtitle = 'System Error';
  }
}
/

web/dialog/view.dart

import 'package:polymer/polymer.dart';
import 'dart:html';
import 'package:intl/intl.dart';
import '../locale/de.dart' as de;
class DialogView extends PolymerElement {
   @observable int page;
   //there are a lot of helper functions and variables in here
}

我使用了许多对扩展基本组件(没有视图.html的组件,而只有一个 view.dart,它允许我在一个列表中保存和操作不同的对话框。这工作得很好,直到我做了 Pub 获取/升级,并且没有通过修复缓存来解决。使用类似结构的项目仍然可以正常工作。

这暂时解决了它:

Pubspec.yaml

code_transformers:"<= 0.2.5"

相关内容

  • 没有找到相关文章