要创建一个新的Polymer元素,需要:
1 加载polymer.html(Polymer的核心)。
2 使用<polymer-element>声明自定义的元素。
在下面的示例中,定义了一个<my-element>元素,使用HTML Import加载polymer.html依赖,然后将该页面保存为my-element.html。
my-element.html
<link rel="import" href="../components/polymer/polymer.html">
<polymer-element name="my-element" noscript>
<template>
<div>Hello from <b>my-element</b>. This is my Shadow DOM.</div>
</template>
</polymer-element>
有两点需要注意:
1 必须包含name属性,且其属性值必须包含一个“-”。
2 noscript属性表明这是一个简单的元素,不包含任何脚本。一个具有noscript的元素声明会被自动注册。
重用其他元素
通过结合使用其他简单的元素,可以创建更为丰富、复杂的组件。在你的<polymer-element>中使用其他元素,需要在你的应用中安装这个这个元素:
bower install Polymer/core-ajax
然后在my-element.html中将新的依赖包含进来:
<link rel="import" href="../components/polymer/polymer.html">
<link rel="import" href="../components/core-ajax/core-ajax.html">
<polymer-element name="my-element" noscript>
<template>
<span>I'm <b>my-element</b>. This is my Shadow DOM.</span>
<core-ajax url="http://example.com/json" auto response="{{resp}}"></core-ajax>
<textarea value="{{resp}}"></textarea>
</template>
</polymer-element>
创建一个应用
最后,创建一个index.html页面,并在这个页面中引入新创建的元素,记得引入webcomponents.js,以下为完整示例:
<!DOCTYPE html>
<html>
<head>
<!-- 1. 加载webcomponents.js -->
<script src="../components/webcomponentsjs/webcomponents.min.js"></script>
<!-- 2. 使用HTML Import加载组件 -->
<link rel="import" href="elements/my-element.html">
</head>
<body>
<!-- 3. 通过标签声明元素 -->
<my-element></my-element>
</body>
</html>