金沙澳门唯一官网长途分页类,Components塑造单页

2019-10-23 09:02 来源:未知

用Web Components营造单页面应用

2015/01/19 · JavaScript · Web Components

本文由 伯乐在线 - 周进林 翻译,Mxt 校稿。未经许可,制止转发!
塞尔维亚共和国语出处跋山涉水的近义词www.polymer-project.org。迎接参与翻译组。

你是如何运用Polymer营造一个单页应用的?那个主题材料大家在Polymer团队里曾经问过不菲遍了。我们的答案(长期以来地)是“使用组件(component)!”。不过,使用新手艺去化解现成的主题材料一再不会及时获得鲜明的成效。如何把一群模块化组件组合到七个重型的实用的选拔中去?

在本教程,作者将会给您出示什么去塑造三个功力完全的单页应用爬山涉水

金沙澳门唯一官网 1

  • 一起使用Polymer的中央因素构建
  • 利用响应式设计
  • 运用数据绑定本性过渡视图
  • 动用U卡宴L路由和深层链接性情
  • 可访谈键盘
  • 按需动态载入内容(可选)

 展开演示

page_total_rows - 每页体现数量 暗中同意值20
$total_rows - 总结多少条款数
$totpages - 总页数总结
$pages_current - 当前页面
行使url参数字传送递 当前页码 url参数名称 pages
$style - 页码展现样式能够经过外界访谈样式属性举办改过
***********************金沙澳门唯一官网,运用办法**********************
调用该类
$pages = new pages;
调用该类后请校正数据集总条数
$pages->total_rows = $totrows;
//$pages->main();方法将回到limit要求的2个参数 关联数组的a,b2个因素
$limit = $pages->main();
透过拜会分歧方法就能够展现分裂的功力!
款待商酌指正 联系qq 5213606
*/
class pages{
public $page_total_rows = 20;//每页突显数量
public $total_rows;//计算多少条目款项数
public $totpages;//总页数
public $current_url;//当前页面名称
private $ask; //是不是出现问号
public $style ='<style type="text/css教程">
.pages_norename{width:50px; height:20px; float:left; background-color:#e3eff3; margin-right:5px; text-align:center; line-height:20px; border:1px solid #333333;}
.pages_norename a{display:block; width:50px; height:20px; color:#333333; text-decoration:none;}
.pages_norename a:hover{background-color:#ff9900; color:#ffffff;}
.pages_nore_more{width:auto; height:20px; float:left; margin-right:5px; line-height:20px; background-color:#e3eff3; border:1px solid #333333;}
.pages_nore_more a{display:block; width:20px; height:20px; color:#333333; text-decoration:none; text-align:center;}
.pages_nore_more a:hover{background-color:#ff9900; color:#ffffff;}
.pages_se{width:auto; height:20px; float:left;}
.pages_se select{margin:0px; padding:0px; font-family:arial, helvetica, sans-serif; font-size:12px;}
</style>
';

运用架构

兼顾布局是起头三个档期的顺序的主要职责之黄金年代。作为主干要素集合的风姿浪漫局地,Polymer通过多少个布局成分 来支撑应用程序的构架(<core-header-panel>, <core-drawer-panel>, <core-toolbar>)。这一个零部件本身就很好用,可是为了更加快地开端项目,我们谋算注重于<core-scaffold>。有了它你能够透过创设多少个为主的成分就可以做出三个响应式的移动端布局。

<core-scaffold>的子成分能够是点名特定的要素或应用一定的价签(或二者一齐行使)。比方,使用<nav>成分创造应用抽屉菜单。你能够在随性所欲的要素里应用navigation属性(e.g <core-header-panel navigation>)。工具栏通过工具属性标记。它的具备其余子成分都定义在重大内容区域里。

//大旨总计 并以数组的花样再次来到查询sql 语句的必需值 limit a,b;
function main(){
  $this->totpages = ceil($this->total_rows/$this->page_total_rows);//总页数计算
  //得到当前页码-------------------
  if(!isset($_get['pages']))
  {
  $this->pages_current = 1;
  }else
  {
   $this->pages_current = intval($_get['pages']);
   //判定页面不为0
   if($this->pages_current < 1){
   $this->pages_current = 1;
   }
   //剖断页面无法压倒最大页码数量
   if($this->pages_current > $this->totpages){
   $this->pages_current = $this->totpages;
   }
   //注销url 参数 pages 和 total_rows 为了更加好的传递别的url参数
   if(isset($_get['pages'])){unset($_get['pages']);}
   if(isset($_get['total_rows'])){unset($_get['total_rows']);}
  
  }
  //获得当前页码--------------------
  $limit['a'] = $start = ($this->pages_current - 1)*$this->page_total_rows;
  $limit['b'] = $this->page_total_rows;
  //获得当前页面名称
  $urlin = explode('/',$_server['php教程_self']);
 
  $tot_url = sizeof($urlin);
  $this->current_url =$urlin[$tot_url-1];
  //获得当前页面传递的url
  if(sizeof($_get) > 0){
   foreach($_get as $key=>$values){
    $urlsget .= $key.'='.$values.'&';
   }
   $this->current_url .= '?'.$urlsget;
   $this->ask = '';
  }else{$this->ask = '?';}
  //输出样式
  echo $this->style;
  return $limit;
}
//展现分页
//1 第一页
function firstpage(){
  echo '<div class="pages_norename"><a href="'.$this->current_url.'">首页</a></div>';
}
//2 上一页
function prepage(){
  echo '<div class="pages_norename"><a href="'.$this->current_url.$this->ask.'pages='.($this->pages_current-1).'">上一页</a></div>';
}
//3 下一页
function nextpage(){
  echo '<div class="pages_norename"><a href="'.$this->current_url.$this->ask.'pages='.($this->pages_current+1).'">下一页</a></div>';
}
//4 最终气宇不凡页
function  lastpage(){
  echo '<div class="pages_norename"><a href="'.$this->current_url.$this->ask.'pages='.($this->totpages).'">尾页</a></div>';
}
//中间过渡页
function morepage(){
  if($this->pages_current == 1){$newtj = $this->pages_current+9;}
  elseif($this->pages_current  == 2){$newtj = $this->pages_current+8;}
  elseif($this->pages_current == 3){$newtj = $this->pages_current+7;}
  else{$newtj = $this->pages_current+6;}
   for($i=$this->pages_current-3;$i<=$newtj;$i++){
    if($i==$this->pages_current){$strong ='<strong>'; $strong2 ='</strong>';}else{$strong='';$strong2='';}
    if($i >=1){echo '<div class="pages_nore_more"><a href="'.$this->current_url.$this->ask.'pages='.$i.'">'.$strong.$i.$strong2.'</a></div>';}
    if($i >= $this->totpages){
    break;
    }
   }
}
//跳转页面
function changepage(){
  echo '<div class="pages_se"><select name="dd">';
  for($i=1;$i<=$this->totpages;$i++){
  if($this->pages_current == $i){$selected = ' selected="selected"';}else{$selected = '';}
  echo '<option value="'.$i.'"'.$selected.'>第'.$i.'页</option>';
  }
  echo '</select></div>';
}
}
?>
该类能够自动识别 url 参数 幸免了日常分页类 遗失url参数难点
体制 能够经过style属性 实行改换
提供 首页 上风流倜傥页 下风度翩翩页 尾页 中间 过渡页 跳转菜单效率

例子

XHTML

<body unresolved fullbleed> <core-scaffold id="scaffold"> <nav>Left drawer</nav> <core-toolbar tool>Application</core-toolbar> <div>Main content</div> </core-scaffold> </body>

1
2
3
4
5
6
7
<body unresolved fullbleed>
  <core-scaffold id="scaffold">
    <nav>Left drawer</nav>
    <core-toolbar tool>Application</core-toolbar>
    <div>Main content</div>
  </core-scaffold>
</body>

让我们一同来深刻这个内容的每黄金年代部分

抽屉菜单

您放在导航元素里的符号都定义在滑走的选取抽屉菜单里。为了大家的靶子 ,小编坚持不渝使用标题(<core-toolbar>)和导航链接 (<core-menu>)跋山涉水的近义词

XHTML

<nav> <core-toolbar><span>Single Page Polymer</span></core-toolbar> <core-menu selected="0"> <paper-item noink> <core-icon icon="label-outline"></core-icon> <a href="#one">Single</a> </paper-item> <paper-item noink> <core-icon icon="label-outline"></core-icon> <a href="#two">page</a> </paper-item> ... </core-menu> </nav>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<nav>
  <core-toolbar><span>Single Page Polymer</span></core-toolbar>
  <core-menu selected="0">
    <paper-item noink>
      <core-icon icon="label-outline"></core-icon>
      <a href="#one">Single</a>
    </paper-item>
    <paper-item noink>
      <core-icon icon="label-outline"></core-icon>
      <a href="#two">page</a>
    </paper-item>
    ...
  </core-menu>
</nav>

介意,今后<core-menu selected=”0″>被硬编码为筛选第叁个条文。我们今后会把它改为动态的。

工具栏

工具栏横跨了页面顶上部分并包蕴了效果与利益开关Logo。满意这种效应的包罗万象成分是<core-toolbar>跋山涉水的近义词

XHTML

<!-- flex makes the bar span across the top of the main content area --> <core-toolbar tool flex> <!-- flex spaces this element and jusifies the icons to the right-side --> <div flex>Application</div> <core-icon-button icon="refresh"></core-icon-button> <core-icon-button icon="add"></core-icon-button> </core-toolbar>

1
2
3
4
5
6
7
<!-- flex makes the bar span across the top of the main content area -->
<core-toolbar tool flex>
  <!-- flex spaces this element and jusifies the icons to the right-side -->
  <div flex>Application</div>
  <core-icon-button icon="refresh"></core-icon-button>
  <core-icon-button icon="add"></core-icon-button>
</core-toolbar>

首要内容

最后风流罗曼蒂克部分是为您的剧情而留的。它能够是另外的元素。<div>是多个很好的挑精拣肥爬山涉水

XHTML

<div layout horizontal center-center fit> <!-- fill with pages --> </div>

1
2
3
<div layout horizontal center-center fit>
  <!-- fill with pages -->
</div>

fit属性表示首要区域的情节会布满父成分的宽带和中度,layout horizontal center-center属性表示使用弹性框(flexbox)来使内容居杏月垂直居中。

创建“视图”

多视图(可能多页面)能够利用<core-pages>或然<core-animated-pages>来创设。在二遍只显示多个子成分时,三个要素都很有用。而使用<core-animated-pages>的低价是,它提供了越多的暗中同意和灵活的页面过渡。

上面包车型大巴亲自过问(demo)使用了<core-animated-pages>元素的slide-from-right过渡效果。首先,导入成分定义和slide-from-right过渡效果。

XHTML

<link rel="import" href="components/core-animated-pages/core-animated-pages.html"> <link rel="import" href="components/core-animated-pages/transitions/slide-from-right.html">

1
2
<link rel="import" href="components/core-animated-pages/core-animated-pages.html">
<link rel="import" href="components/core-animated-pages/transitions/slide-from-right.html">

然后插入你的内容跋山涉水的近义词

XHTML

<div layout horizontal center-center fit> <core-animated-pages selected="0" transitions="slide-from-right"> <section layout vertical center-center> <div>Single</div> </section> <section layout vertical center-center> <div>page</div> </section> ... </core-animated-pages> </div>

1
2
3
4
5
6
7
8
9
10
11
<div layout horizontal center-center fit>
  <core-animated-pages  selected="0" transitions="slide-from-right">
    <section layout vertical center-center>
      <div>Single</div>
    </section>
    <section layout vertical center-center>
      <div>page</div>
    </section>
    ...
  </core-animated-pages>
</div>

留意,未来<core-animated-pagesselected=”0″>那行代码是硬编码去选用第黄金年代页。可是大家随后会把它写成动态的。

当今您应该负有了一个宗旨的使用,然则此地有局地小的标题亟需介意。多亏损Polymer各样成分提供的布局属性和暗许样式,你可以不写任何的CSS代码就足以兑现一个响应式应用。当然,从material design调色板里得到一些灵感,设置不到10 CSS规则就能够让那么些应该变得越来越美观。

展示:没设置CSS     展示:设置CSS

采纳数据绑定

我们具有了一个选取,但那不值得意气风发提。那离DXC60Y还远着。相仿的标志在那间再现跋山涉水的近义词

XHTML

<nav> <core-menu selected="0"> <paper-item noink> <core-icon icon="label-outline"></core-icon> <a href="#one">Single</a> </paper-item> <paper-item noink> <core-icon icon="label-outline"></core-icon> <a href="#two">page</a> </paper-item> <paper-item noink> <core-icon icon="label-outline"></core-icon> <a href="#three">app</a> </paper-item> ... </core-menu> </nav>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<nav>
  <core-menu selected="0">
    <paper-item noink>
      <core-icon icon="label-outline"></core-icon>
      <a href="#one">Single</a>
    </paper-item>
    <paper-item noink>
      <core-icon icon="label-outline"></core-icon>
      <a href="#two">page</a>
    </paper-item>
    <paper-item noink>
      <core-icon icon="label-outline"></core-icon>
      <a href="#three">app</a>
    </paper-item>
    ...
  </core-menu>
</nav>

这等同不是动态的。当顾客筛选三个菜谱条约时,页面不会更新。幸运的是,这个难题都足以行使Polymer的数量绑定本性自在化解。

自行绑定模板(template)

为了利用<polymer-element>外的绑定数据,包装三个Yo应用?利用内部的自动绑定<template>成分爬山涉水

XHTML

<body unresolved fullbleed> <template is="auto-binding"> <core-scaffold id="scaffold"> ... </core-scaffold> </template> </body>

1
2
3
4
5
6
7
<body unresolved fullbleed>
  <template is="auto-binding">
    <core-scaffold id="scaffold">
      ...
    </core-scaffold>
  </template>
</body>

唤醒,<template>自动绑定成分允许大家在第大器晚成页面里使用{{}},表达式和on-*来声称事件管理器。

应用数据模型( data model)简化标识

运用数据模型来发生标识能够大大方方压缩你写标识的数量。在我们的案例里,全体的菜谱条款和页面都得以利用生气勃勃对<template repeat>成分来表现。

XHTML

<core-menu valueattr="hash" selected="{{route}}"> <template repeat="{{page in pages}}"> <paper-item hash="{{page.hash}}" noink> <core-icon icon="label-outline"></core-icon> <a href="#{{page.hash}}">{{page.name}}</a> </paper-item> </template> </core-menu> <core-animated-pages valueattr="hash" selected="{{route}}" transitions="slide-from-right"> <template repeat="{{page in pages}}"> <section hash="{{page.hash}}" layout vertical center-center> <div>{{page.name}}</div> </section> </template> </core-animated-pages>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<core-menu valueattr="hash" selected="{{route}}">
  <template repeat="{{page in pages}}">
    <paper-item hash="{{page.hash}}" noink>
      <core-icon icon="label-outline"></core-icon>
      <a href="#{{page.hash}}">{{page.name}}</a>
    </paper-item>
  </template>
</core-menu>
 
<core-animated-pages valueattr="hash" selected="{{route}}"
                     transitions="slide-from-right">
  <template repeat="{{page in pages}}">
    <section hash="{{page.hash}}" layout vertical center-center>
      <div>{{page.name}}</div>
    </section>
  </template>
</core-animated-pages>

地点的符号由上边包车型大巴数据模型来驱动爬山涉水

XHTML

<script> var template = document.querySelector('template[is="auto-binding"]'); template.pages = [ {name: 'Single', hash: 'one'}, {name: 'page', hash: 'two'}, {name: 'app', hash: 'three'}, ... ]; </script>

1
2
3
4
5
6
7
8
9
<script>
  var template = document.querySelector('template[is="auto-binding"]');
  template.pages = [
    {name: 'Single', hash: 'one'},
    {name: 'page', hash: 'two'},
    {name: 'app', hash: 'three'},
    ...
  ];
</script>

在意,<core-animated-pages>和<core-menu>通过绑定它们的selected属性来波及在同步。今后,当客户点击贰个导航条约时,页面会做出相应的更新。valueattr=”hash”设置告诉八个因素在各类条目款项里应用hash属性作为接受的值。

XHTML

<!-- data-bind the menu selection with the page selection --> <core-menu valueattr="hash" selected="{{route}}"> ... <core-animated-pages valueattr="hash" selected="{{route}}">

1
2
3
4
<!-- data-bind the menu selection with the page selection -->
<core-menu valueattr="hash" selected="{{route}}">
...
<core-animated-pages valueattr="hash" selected="{{route}}">

展示

UQashqaiL路由(U宝马X5L routing)和深层链接

<flatiron-director>是二个卷入了flatiron director JS library(一个JS库)的web组件。改变它的route属性把UTiggoL#号(UEvoqueL hash)更新到相像的值。

当大家想在页面加载时保持上次的视图时,数据绑定再度派上用场。把路由(director.js里的director)、菜单和页面成分连接起来并使它们一齐。当两个更新时,其余的意气风发律跟着更新。

XHTML

<flatiron-director route="{{route}}" autoHash> ... <core-menu selected="{{route}}"> ... <core-animated-pages selected="{{route}}">

1
2
3
4
5
<flatiron-director route="{{route}}" autoHash>
...
<core-menu selected="{{route}}">
...
<core-animated-pages selected="{{route}}">

深层链接-当模板筹算好时,开首化路由。

XHTML

template.addEventListener('template-bound', function(e) { // Use URL hash for initial route. Otherwise, use the first page. this.route = this.route || DEFAULT_ROUTE; };

1
2
3
4
template.addEventListener('template-bound', function(e) {
// Use URL hash for initial route. Otherwise, use the first page.
this.route = this.route || DEFAULT_ROUTE;
};

任何路由库

大器晚成经你不爱好<flatiron-director>,能够履行<app-router>或者<more-routing>。它们都以足以完结更复杂功用的路由(通配符,HTML5历史API,动态内容)。笔者个人更爱好<flatiron-director>,因为它回顾易用何况能够和<core-animated-pages>很好地包容使用

例子: <more-routing>

XHTML

<more-route-switch> <template when-route="user"> <header>User {{params.userId}}</header> <template if="{{ route('user-bio').active }}"> All the details about {{params.userId}}. </template> </template> <template when-route="/about"> It's a routing demo! <a _href="{{ urlFor('user-bio', {userId: 1}) }}">Read about user 1</a>. </template> <template else> The index. </template> </more-route-switch>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<more-route-switch>
  <template when-route="user">
    <header>User {{params.userId}}</header>
    <template if="{{ route('user-bio').active }}">
      All the details about {{params.userId}}.
    </template>
  </template>
  <template when-route="/about">
    It's a routing demo!
    <a _href="{{ urlFor('user-bio', {userId: 1}) }}">Read about user 1</a>.
  </template>
  <template else>
    The index.
  </template>
</more-route-switch>

例子: <app-router>

XHTML

<app-route path="/home" import="/pages/home-page.html"></app-route> <app-route path="/customer/*" import="/pages/customer-page.html"></app-route> <app-route path="/order/:id" import="/pages/order-page.html"></app-route> <app-route path="*" import="/pages/not-found-page.html"></app-route>

1
2
3
4
<app-route path="/home" import="/pages/home-page.html"></app-route>
<app-route path="/customer/*" import="/pages/customer-page.html"></app-route>
<app-route path="/order/:id" import="/pages/order-page.html"></app-route>
<app-route path="*" import="/pages/not-found-page.html"></app-route>

键盘导航

键盘扶植的关键不独有是为了有帮助的拜谒,它雷同会使SPA顾客刚到更开玩笑。

<core-a11y-keys>是三个规范化浏览器键盘事件的停放组件。它能够在您的运用里加多键盘辅助。这里有一个例子跋山涉水的近义词

XHTML

<core-a11y-keys target="{{parentElement}}" keys="up down left right space space+shift" on-keys-pressed="{{keyHandler}}"></core-a11y-keys>

1
2
3
<core-a11y-keys target="{{parentElement}}"
keys="up down left right space space+shift"
on-keys-pressed="{{keyHandler}}"></core-a11y-keys>

注意

事件的target属性数据绑定到大家的电动绑定模块的parentElement属性。在此个案例里,它是<body>成分。

key属性包括七个以空格分隔成分的列表,列表中包罗了要监听键位。当这一个组合的中间八个被按下,<core-a11y-keys>触发一个keys-pressed事件并调用你的回调函数。

keys-pressed事件的管理器使用<core-animated-pages>的selectNext/selectPrevious API去走入下风流罗曼蒂克页可能重回上风度翩翩页跋山涉水的近义词

JavaScript

template.keyHandler = function(e, detail, sender) { var pages = document.querySelector('#pages'); switch (detail.key) { case 'left': case 'up': pages.selectPrevious(); break; case 'right': case 'down': pages.selectNext(); break; case 'space': detail.shift ? pages.selectPrevious() : pages.selectNext(); break; } };

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
template.keyHandler = function(e, detail, sender) {
  var pages = document.querySelector('#pages');
 
  switch (detail.key) {
    case 'left':
    case 'up':
      pages.selectPrevious();
      break;
    case 'right':
    case 'down':
      pages.selectNext();
      break;
    case 'space':
      detail.shift ? pages.selectPrevious() : pages.selectNext();
      break;
  }
};

按需加载内容

假定您想客商在您的运用里导航时动态加载内容要哪些做?只需一些改成,大家就足以支撑动态加载页面。

第豆蔻梢头,更新数据模型,使它含有内容的UVision GTL跋山涉水的近义词

JavaScript

template.pages = [ {name: 'Intro', hash: 'one', url: '/tutorial/intro.html'}, {name: 'Step 1', hash: 'two', url: '/tutorial/step-1.html'}, ... ];

1
2
3
4
5
template.pages = [
{name: 'Intro', hash: 'one', url: '/tutorial/intro.html'},
{name: 'Step 1', hash: 'two', url: '/tutorial/step-1.html'},
...
];

然后改成菜单链接指向page.url并非#:

XHTML

<paper-item hash="{{page.hash}}" noink> <a href="{{page.url}}">{{page.name}}</a> </paper-item>

1
2
3
<paper-item hash="{{page.hash}}" noink>
<a href="{{page.url}}">{{page.name}}</a>
</paper-item>

最终,使用我们的<core-ajax>亲密的朋友来获得内容跋山涉水的近义词

XHTML

<core-ajax id="ajax" auto url="{{selectedPage.page.url}}" handleAs="document" on-core-response="{{onResponse}}"> </core-ajax>

1
2
3
<core-ajax id="ajax" auto url="{{selectedPage.page.url}}"
handleAs="document" on-core-response="{{onResponse}}">
</core-ajax>

你能够把<core-ajax>看作是多个剧情调整器。它的url属性数据绑定到selectedPage.page.url。那意味,无论如何时候一个新的美食指南条款被选中,XH帕杰罗(XMLHttpRequest的缩写,译者注)就能够去赢得相应的页面。当core-response触发时,onResponse就能够把文书档案重临的意气风发局地插入预先保留的器皿里。

JavaScript

template.onResponse = function(e, detail, sender) { var article = detail.response.querySelector('scroll-area article'); var pages = document.querySelector('#pages'); this.injectBoundHTML(article.innerHTML, pages.selectedItem.firstElementChild); };

1
2
3
4
5
6
7
template.onResponse = function(e, detail, sender) {
  var article = detail.response.querySelector('scroll-area article');
 
  var pages = document.querySelector('#pages');
  this.injectBoundHTML(article.innerHTML,
                       pages.selectedItem.firstElementChild);
};

AJAX实例演示

润饰和终止

那边有局地小本事和诀窍你能够用来改善您的运用。

当三个美食做法条约被增选后,关闭应用的抽屉菜单(drawer)跋山涉水的近义词

JavaScript

<core-menu ... on-core-select="{{menuItemSelected}}">

1
<core-menu ... on-core-select="{{menuItemSelected}}">

JavaScript

template.menuItemSelected = function(e, detail, sender) { if (detail.isSelected) { scaffold.closeDrawer(); } };

1
2
3
4
5
template.menuItemSelected = function(e, detail, sender) {
  if (detail.isSelected) {
    scaffold.closeDrawer();
  }
};

为导航接受条目款项设置区别的Logo跋山涉水的近义词

XHTML

<paper-item noink> <ore-icon icon="label{{route != page.hash ? '-outline' : ''}}"></core-icon> <core-animated-pages ... on-tap="{{cyclePages}}">

1
2
3
<paper-item noink>
  &lt;ore-icon icon="label{{route != page.hash ? '-outline' : ''}}">&lt;/core-icon>
<core-animated-pages ... on-tap="{{cyclePages}}">

JavaScript

template.cyclePages = function(e, detail, sender) { // If click was on a link, navigate and don't cycle page. if (e.path[0].localName == 'a') { return; } e.shiftKey ? sender.selectPrevious(true) : sender.selectNext(true); };

1
2
3
4
5
6
7
8
template.cyclePages = function(e, detail, sender) {
  // If click was on a link, navigate and don't cycle page.
  if (e.path[0].localName == 'a') {
    return;
  }
  e.shiftKey ? sender.selectPrevious(true) :
               sender.selectNext(true);
};

结束语

今昔,你应该通晓使用Polymer和web组件构建的单页应用的主导构架了。那恐怕和创设守旧的选拔有所不一致,但看来,组件让职业变得轻便多了。当您重用(宗旨)组件和动用Polymer的多少绑定特性时,你能够写越来越少的CSS/JS。能够写越来越少的代码的感觉真好!

赞 收藏 评论

关于小编爬山涉水周进林

金沙澳门唯一官网 2

茫茫大海中的黄金年代枚程序员,为了升高为二个男神人类而努力着。关怀java、python、linux、vim等(博客园博客园爬山涉水@酒肉和尚--进林) 个人主页 · 笔者的篇章 · 20 ·  

金沙澳门唯一官网 3

TAG标签:
版权声明:本文由金沙澳门唯一官网发布于前端开发,转载请注明出处:金沙澳门唯一官网长途分页类,Components塑造单页