2

そこで、Polymer Project Designer で小さな男を作成しました: http://www.polymer-project.org/tools/designer/preview.html#ca22c086297bb41ee6e0

そして、ローカルのコンピューター上の別の HTML ファイルで使用したいと考えています。これを行う方法がまったくわかりません。チュートリアルビデオを探し、github ( https://gist.githubusercontent.com/Superraptor/ca22c086297bb41ee6e0/raw/8543946b7e21a8fd2f1a8022e155622306fc549f/designer.html ) で生成されたコードを統合しようとしましたが、無駄に。私は本当に助けを使うことができました!

本当にありがとう!

編集:

これが私のコードです:

<!DOCTYPE html>

<html lang="en">

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="bower_components/platform/platform.js"></script>
    <link rel="import" href="bower_components/polymer/polymer.html">

<!-- These are the links I added -->
    <link rel="import" href="../paper-tabs/paper-tab.html">
<link rel="import" href="../core-drawer-panel/core-drawer-panel.html">
<link rel="import" href="../core-menu/core-submenu.html">
<link rel="import" href="../core-item/core-item.html">


</head>

<body>


<!-- This is the element I added -->
<polymer-element name="my-element">

  <template>
    <style>    
      :host {
        position: absolute;
        width: 100%;
        height: 100%;
        box-sizing: border-box;
      }
      #core_input {
        padding: 10px;
        display: none;
        background-color: rgb(255, 255, 255);
      }
      #core_drawer_panel {
        right: 0px;
        bottom: 0px;
        width: 100%;
        height: 100%;
      }
      #section1 {
        box-shadow: rgba(0, 0, 0, 0.0980392) 0px 2px 4px, rgba(0, 0, 0, 0.0980392) 0px 0px 3px;
        background-color: rgb(250, 250, 250);
      }
      #section2 {
        height: 100%;
        box-sizing: border-box;
        background-color: rgb(221, 221, 221);
      }
      #core_menu {
        font-size: 16px;
      }
      #core_header_panel {
        width: 100%;
        height: 100%;
        left: 0px;
        top: 0px;
        position: absolute;
      }
      #core_toolbar {
        color: rgb(255, 255, 255);
        background-color: rgb(79, 125, 201);
      }
      #section {
        height: 100%;
        background: linear-gradient(rgb(214, 227, 231), rgb(173, 216, 230));
      }
      #core_header_panel1 {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0px;
        left: 0px;
      }
      #section3 {
        width: 420px;
        height: 630px;
        border: 5px solid rgb(204, 204, 204);
        left: 1150px;
        top: 480px;
      }
      #paper_tabs {
        color: rgb(255, 255, 255);
        box-shadow: rgba(0, 0, 0, 0.2) 0px 3px 2px;
        background-color: rgb(0, 188, 212);
      }
      #paper_fab {
        left: 1170px;
        top: 480px;
      }
      #div1 {
        left: 1210px;
        top: 480px;
      }
      #paper_icon_button {
        left: 1240px;
        top: 490px;
      }
      #core_field {
        left: 1090px;
        top: 510px;
      }
      #core_input1 {
        padding: 10px;
        width: 100px;
        display: none;
        background-color: rgb(255, 255, 255);
      }
      #core_input2 {
        padding: 10px;
        width: 100px;
        display: none;
        background-color: rgb(255, 255, 255);
      }
    </style>
    <core-header-panel mode="standard" id="core_header_panel">
      <core-toolbar id="core_toolbar" wrap>
        <core-icon-button icon="menu" id="core_icon_button"></core-icon-button>
        <div id="div">KATELYN</div>
        <core-icon-button icon="account-circle" id="core_icon_button1" on-tap="{{ showUsernamePasswordFields }}" theme="core-light-theme"></core-icon-button>
        <core-input placeholder="User Name" id="core_input1" hidden="true"></core-input>
        <core-input placeholder="Password" id="core_input2" hidden="true"></core-input>
        <core-icon-button icon="search" id="core_icon_button2" on-tap="{{ showSearchField }}" theme="core-light-theme"></core-icon-button>
        <core-input placeholder="Search" id="core_input" hidden="true"></core-input>
        <paper-tabs selected="0" selectedindex="0" id="paper_tabs" end end-justified four flex>
          <paper-tab id="paper_tab" active>Top</paper-tab>
          <paper-tab id="paper_tab1">New</paper-tab>
          <paper-tab id="paper_tab2">Popular</paper-tab>
          <paper-tab id="paper_tab3">Disputed</paper-tab>
          <paper-tab id="paper_tab4">Expert</paper-tab>
        </paper-tabs>
      </core-toolbar>
      <section id="section">
        <core-drawer-panel selected="main" narrow id="core_drawer_panel">
          <section id="section1" drawer>
            <core-menu selected="0" selectedindex="0" id="core_menu">
              <core-submenu active selected="0" label="Options" icon="sort" valueattr="name" id="core_submenu">
                <core-item label="Type" size="24" id="core_item1" horizontal center layout active></core-item>
                <core-item label="View" size="24" id="core_item" horizontal center layout active></core-item>
              </core-submenu>
              <core-submenu label="Settings" icon="settings" valueattr="name" id="core_submenu1">
                <core-item label="Language" size="24" id="core_item3" horizontal center layout></core-item>
                <core-item label="Privacy" size="24" id="core_item4" horizontal center layout></core-item>
                <core-item label="Region" size="24" id="core_item2" horizontal center layout></core-item>
              </core-submenu>
            </core-menu>
          </section>
          <section id="section2" main>
            <core-header-panel mode="standard" id="core_header_panel1">

      </core-header-panel>
          </section>
        </core-drawer-panel>
      </section>
    </core-header-panel>
  </template>

  <script>

    Polymer('my-element', {
      showUsernamePasswordFields: function () {
        if(this.$.core_input1.hidden == true && this.$.core_input2.hidden == true) {
            this.$.core_input1.style.display = 'block';
            this.$.core_input2.style.display = 'block';

          this.$.core_input1.hidden = false;
            this.$.core_input2.hidden = false;

          this.$.core_input.style.display = 'hidden';
          this.$.core_input.hidden = true;
        }
        else {
          this.$.core_input1.style.display = 'hidden';
            this.$.core_input2.style.display = 'hidden';

          this.$.core_input1.hidden = true;
            this.$.core_input2.hidden = true;
        }
      },
      showSearchField: function () {
        if(this.$.core_input.hidden == true) {
            this.$.core_input.style.display = 'block';

          this.$.core_input.hidden = false;

          this.$.core_input1.style.display = 'hidden';
          this.$.core_input2.style.display = 'hidden';
          this.$.core_input1.hidden = true;
          this.$.core_input2.hidden = true;
        }
        else {
          this.$.core_input.style.display = 'hidden';

          this.$.core_input.hidden = true;
        }
      }
    });

  </script>

</polymer-element>


<!-- This is where I declared my element -->
<my-element></my-element>

</body>

</html>

Polymer Designer が示すものは次のとおりです: http://imgur.com/5ys4ltM

これが私が得ているものです:http://imgur.com/wwYlcYx

4

1 に答える 1

8

現在、デザイナーからローカル マシンに到達するための非常に優れたワークフローはありません。デザイナーはまだプロトタイプ/実験段階です。そうは言っても、私がそれについて行く方法は次のとおりです。

  • デザイナーが生成するすべてのコードを取得し、それをローカル ファイルにドロップします。
  • スクリプトが含まれていることを確認してくださいplatform.js(これがあるようです)
  • 生成されたすべてのインポート デザイナーを確認し、次のように置き換えます。

この部分はほぼ完了しているようですが、パスを「../some-component/some-component.html」のままにしています。bower_components ディレクトリを指すようにそれらを更新する必要があります。

bower install最後に、不足している場合は、いくつかのものが必要になる場合があります。したがって、コンソールをチェックして、インポート 404 がないことを確認してください。これを非常に簡単にするために、次の 2 つのコマンドを実行するだけです。

bower install --save Polymer/core-elements
bower install --save Polymer/paper-elements

これにより、デザイナーが使用するほとんどすべてのものを取得できます。まだ何か (google-map など) が不足している場合は、それを具体的にインストールしてください: bower install --save PolymerLabs/google-map google-map は Polymer 組織ではなく、PolymerLabs 組織にあることに注意してください ;)

于 2014-07-21T21:38:26.223 に答える