首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >流星和聚合物,是什么导致了这种行为?

流星和聚合物,是什么导致了这种行为?
EN

Stack Overflow用户
提问于 2015-08-21 07:32:46
回答 3查看 185关注 0票数 1

我试图开始使用聚合物与流星,但已经看到了以下行为,我无法解释。

复制git克隆https://github.com/JeremyKells/meteor-polymer-testing.git并运行流星。

这只是用以下内容创建的应用:

代码语言:javascript
复制
meteor create testpoly 

然后加入聚合物组分和保龄球:

代码语言:javascript
复制
bower install --save Polymer/polymer
bower install --save PolymerElements/iron-elements
bower install --save PolymerElements/paper-elements

并将该部分添加到代码中。

这样可以运行,但是如果您移除这两行之一的注释:

代码语言:javascript
复制
<!-- <link rel="import" href="/bower_components/paper-dropdown/paper-dropdown.html"> -->
<!-- <link rel="import" href="/bower_components/paper-dialog/paper-action-dialog.html"> -->

该应用程序显示正常的流星计数器应用程序两次如下:http://i.stack.imgur.com/KAv7Z.png

为什么会发生这种情况?我该怎么阻止这一切?

进一步的信息后,吉苏马的答复。我正在Ubuntu15.04上运行这个程序,主要是用chrome进行测试。当UI元素被复制时,单击任一按钮只更新第二个“计数器”,第一个计数将保持为零。

在同一个环境中的Firefox上,只有一组UI元素,但是按钮不能工作。

i.stack.imgur.com/bqumz.png

在iphone上尝试将Safari和Chrome连接到此服务器上,结果与firefox相同:看起来不错,但按钮没有更新计数值。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-08-21 12:40:25

当从聚合物0.5变为聚合物1.0时,这是一个错误的进口链接的例子。

它应该是:

代码语言:javascript
复制
<link rel="import" href="/bower_components/paper-dropdown-menu/paper-dropdown-menu.html">
<link rel="import" href="/bower_components/paper-dialog/paper-dialog.html">

虽然我仍然很困惑为什么这会导致html标记被复制,以及为什么这不会在浏览器中抛出一个错误,但当我得到正确的代码时,这一切都是有效的!

票数 1
EN

Stack Overflow用户

发布于 2015-08-21 08:14:33

我在窗户上用流星测试了这个项目,它像预期的那样工作!我删除了headers.html的评论,该应用程序显示了正常的流星计数器应用程序。

在ubuntu15.0.4上,火狐的按钮似乎不能工作,这是因为在headers.html文件上导入了js文件headers.html。尝试在headers.html上注释这一行并再次测试。

代码语言:javascript
复制
<!-- <script src="/bower_components/webcomponentsjs/webcomponents.min.js"></script> -->

票数 1
EN

Stack Overflow用户

发布于 2016-02-06 18:34:50

tl;dr

确保你的保龄球依赖聚合物和PaperElements是最新的。(即使用#^1.0.0而不是#1.0.0)

详细信息

这一问题的根源有两个方面:

  1. 流星响应主页面的内容,即使在路径请求中没有资源,但它是不使用404 (未找到)状态代码。
  2. HTML将将引用的文档包含到页面除非响应是错误的中。

如果你用的是聚合物,那也不重要。以下Meteor应用程序将展示复制行为:

代码语言:javascript
复制
<head>
  <link rel="import" href="bad-link.html">
</head>
<body>
  I'm Duplicated!<br>
</body>

解决方案是确保HTML导入是有效的。

在我的例子中,paper-icon-button.htmlpaper-behaviors/paper-radio-button-behavior.html提供了一个导入,这在paper-behaviors的最新版本中并不存在。

造成这种不一致性的原因是paper-icon-button被锁定在#1.0.0版本上,但是它自己的第一个依赖项引用了paper-behaviors#^1.0.0,这意味着the latest version >= 1.0.0 and < 2.0.0

解决方案是将我的bower依赖项版本也更改为使用义符插入语法

代码语言:javascript
复制
{
  "dependecies": {
    "polymer": "Polymer/polymer#^1.2.0",
    "paper-icon-button": "PolymerElements/paper-icon-button#^1.0.0"
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32134763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档