标签: polymer

Polymer元素和AngularJS指令有什么区别?

在Polymer Getting Started页面上,我们看到Polymer的实例:

<html>
  <head>
    <!-- 1. Shim missing platform features -->
    <script src="polymer-all/platform/platform.js"></script>
    <!-- 2. Load a component -->
    <link rel="import" href="x-foo.html">
  </head>
  <body>
    <!-- 3. Declare the component by its tag. -->
    <x-foo></x-foo>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

您将注意到的是<x-foo></x-foo>platform.js和定义的x-foo.html.

看起来这相当于AngularJS中的指令模块:

angular.module('xfoo', [])
.controller('X-Foo', ['$scope',function($scope) {
    $scope.text = 'hey hey!';
})
.directive('x-foo', function() {
    return {
        restrict: 'EA',
        replace: true,
        controller: 'X-Foo',
        templateUrl: '/views/x-foo.html',
        link: function(scope, controller) {
        }
    };
});
Run Code Online (Sandbox Code Playgroud)
  • 两者有什么区别?

  • Polymer解决AngularJS没有或不会有什么问题?

  • 是否有计划在未来将Polymer与AngularJS联系起来?

javascript angularjs polymer

520
推荐指数
6
解决办法
9万
查看次数

/ deep /和:: shadow在CSS选择器中的含义是什么?

在查看Polymer时,我在Chrome 37的开发人员工具的样式选项卡中看到以下CSS选择器:

在此输入图像描述

我还看到了一个带有伪选择器的选择器::shadow.

那么,是什么做的/deep/::shadowCSS选择呢?

css html5 web-component shadow-dom polymer

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

具有javascript依赖关系的聚合物元素

我已经创建了一个用于渲染markdown的Polymer元素,它使用了marked.js库.我想知道,在其依赖项中加载的推荐方法是什么?

我应该只使用脚本标签吗?

<script src="../marked/lib/marked.js"></script>
Run Code Online (Sandbox Code Playgroud)

或者将所有依赖项放入html导入并链接到该文件会更好.在这种情况下,我只有一个依赖,但我可以轻松拥有更多.

<!-- in scripts.html -->
<script src="../marked/lib/marked.js"></script>
<script src="../foo/foo.js"></script>
<script src="../bar/bar.js"></script>

<!-- in mark-down.html -->
<link rel="import" href="scripts.html">
Run Code Online (Sandbox Code Playgroud)

注意:这些路径假设我的元素(及其依赖项)正在与bower一起安装,因此它们都应该是兄弟姐妹bower_components.

polymer

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

Facebook的反应与Web组件(聚合物)的优缺点

Facebook的React对即将推出的Web Components规范的主要好处是什么,反之亦然(或者可能是谷歌的Polymer库比较多的苹果对苹果)?

根据JSConf欧盟谈话和React主页,React的主要好处是:

  • 使用组件模型解耦并增加内聚力
  • 抽象,构成和表现力
  • 虚拟DOM和综合事件(这基本上意味着它们完全重新实现了DOM及其事件系统)
    • 在IE 8上启用现代HTML5事件
    • 服务器端呈现
    • 可测性
    • 绑定到SVG,VML和 <canvas>

几乎所有提到的内容都是通过Web组件本地集成到浏览器中,除了这个虚拟DOM概念(显然).我可以看到虚拟DOM和合成事件今天如何有利于支持旧浏览器,但是并没有丢掉大量本机浏览器代码,比如长期射击自己?就现代浏览器而言,不是很多不必要的开销/重新发明轮子?

以下是我认为 React缺少Web Components会关注的一些内容.如我错了请纠正我.

  • 本机浏览器支持(读取"保证更快")
  • 在vanilla JavaScript中编写JavaScript,在CSS中编写CSS,在HTML中编写HTML.
  • 使用Shadow DOM进行样式封装
    • 反过来有这个,这需要在JavaScript中编写CSS.不漂亮.
  • 双向绑定

html javascript web-component reactjs polymer

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

可以在React中使用Polymer吗?

我一直在使用React,并期待在React中使用Polymer标签.React不识别Polymer标签,因为React只处理基本的DOM标签.有没有办法将Polymer标签添加到React DOM库?

html reactjs polymer

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

自定义元素的名称是否需要短划线?

是否有可能来命名自己的自定义元素<date>,<person>,<city>或其他不使用破折号?没有它们可以使用定义元素吗?

web-component x-tag polymer

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

如何在未知环境中安全地加载Polymer - 多个版本或命名空间?

我有使用Polymer构建的元素,需要在多个站点(小部件)上运行,其中:

  • 不含聚合物(很好,我可以包括)
  • 聚合物已包含在兼容版本中(非常棒,不太可能)
  • 未知版本的聚合物(太旧或太新,太棘手)

是否可以在命名空间中加载Polymer?例如myObj.PolymerMyPolymerName

我发现聚合物-js可以让我加载聚合物作为模块,但这不是官方方式. 这仍然出口到全球范围

web-component polymer

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

Polymer 1.0:如何从属性中将参数传递给Polymer函数?

有没有办法从其内部的元素属性传递参数到Polymer函数<template>

<script src="http://www.polymer-project.org/1.0/samples/components/webcomponentsjs/webcomponents-lite.js"></script>
<link rel="import" href="http://www.polymer-project.org/1.0/samples/components/polymer/polymer.html" />
<dom-module id="example-element">
  <template>
    ...
    <paper-button id="foo" on-tap="bar">Click</paper-button>
    ...
  </template>
</dom-module>
<script>
  (function() {
    Polymer({
      is: 'example-element',
      properties: {...},
      bar: function(arg){
        // Do stuff using argument arg
      }
    });
  })();
</script>
Run Code Online (Sandbox Code Playgroud)

背景研究

我已经梳理关于此事的沉默文件.它没有说你是否可以.但是当我尝试它时,它失败了.但也许我没有正确地做到这一点.所以我需要一些帮助.

我唯一遇到的是事件监听器,它似乎无法接受我想传递的参数.说,一个id或一个name.

以前的尝试

我尝试过(不成功)做的事情:

<paper-button id="foo" on-tap="bar('foo')"> Click </paper-button>
Run Code Online (Sandbox Code Playgroud)

但似乎没什么用.

事件监听器的想法不起作用,因为它们限制了参数,我无法得到,比方说,id我需要.

polymer polymer-1.0

38
推荐指数
3
解决办法
3万
查看次数

es6的模块加载器也可以加载资源(html/css/...)

ES6的模块基于灵活的加载器架构(虽然标准不是最终的,所以......).

这是否意味着基于system.js的ES6加载器可以加载所有资产?即CSS,HTML,图像,文本,...任何类型的文件?

我问,因为我开始使用WebComponents和Polymer,它们有自己的HTML导入,并使用ES6实现它们,ES6有自己的import/loader(system.js).

html module loader ecmascript-6 polymer

36
推荐指数
2
解决办法
3万
查看次数

Google的Polymer是一个功能齐全的前端框架,可以合并或补充其他前端框架吗?

问题在于AngularJS,BackboneJS,EmberJS和其他框架.

我必须将项目从php转换为javascript,我必须决定,如果我要使用:

  1. AngularJS
  2. 聚合物
  3. 它们的组合

我更喜欢使用Polymer,因为我喜欢它.

然而,我失踪了(并纠正了我错在哪里)能力:

  1. 它们之间的视图和链接(如在Angualar中)
  2. 控制器

我知道结构取决于我,如何构建我的应用程序,但似乎angularjs有一个很好的预定义结构,用于构建mvc应用程序.

因此,我想知道:如果你想构建一个结构良好的Web应用程序,或者是在其他现有框架中使用的Polymer 补充库,那么Polymer是否是Angular 的替代品

编辑21.09.2014 没有人真正满意地回答这个问题,因此我将其标记为尚未回答.许多人说它只是"取消".但没有人能够详细说明它究竟取决于什么.

关于应用程序的复杂性?关于申请的需求?聚合物适合哪些需求,哪种不适合?这些是我一直在寻找的答案.

有人说它可以用作前端框架.其他人说这只是一个图书馆而其他人说"是和否".不幸的是相当混乱的答案.

我希望有一个正式的答案,但我告诉你我的感受.我相信它是一种替代品,但Polymer还没有达到其他框架需要工作的结构.也许这是故意的,也许这只是未成熟的问题,因为框架是新的.

我希望创建者能够解释,什么时候最好使用AngularJS,什么时候应该有人使用Polymer来构建大型可伸缩的Web应用程序.

编辑15.08.2015

聚合物1.0已经淘汰.事实证明,聚合物正式不是一个框架,应该与其他前端框架以一种互补的方式工作. https://youtu.be/fD2As5RmM8Q?t=6m42s

javascript frameworks angularjs polymer

33
推荐指数
2
解决办法
7249
查看次数