Polymer2.0 路由

  <app-location route="{{route}}"> </app-location>
  <app-route route="{{route}}"
             pattern="/:key"
             data="{{routeData}}"
             tail="{{subroute}}">
  </app-route>

猛的一看是不是很懵逼不知道,到底都是什么意思,不知道何时赋值,何时取值,

这里我只讲一下怎么去测这几个属性,

key会变成routeData对象的键名, 实际开发中你要用的一般是routeData.key的值;

routeData.key的值从哪里来的呢?

来自你的匹配模式 pattern中的的"/" 他会匹配地址栏中的第一个"/" 

假如你现在做个a链接 href ="/aa/bb/cc/dd",点击下做个延时打印

这样的话routeData.key = aa

subroute会变成 {prefix:"/aa", path:"/bb/cc/dd"}

如果把pattern换成 "/aa/:key"

重复上面的操作:

此时 routeData.key = bb, subroute 变成{“prefix”:“/aa/bb", path: "/cc/dd"}

 

然而这个东西单独使用并无卵用,此时页面没有任何变化;

它是要结合 iron-selector 和iron-pages 使用的 :

iron-selector 里面放入a标签 iron-pages放入你要切换的页面

把iron-selector的selected属性和iron-pages的selected属性 和routeData.key 绑定到一起

 

 

Polymer 2.0 中,`iron-ajax` 是一个用于处理 HTTP 请求的 Web 组件,它能够简化从服务器获取数据的过程。该元素通常与数据绑定机制结合使用,以实现动态内容更新。以下是使用 `iron-ajax` 的指南和示例。 ### 基本用法 要使用 `iron-ajax`,首先需要确保已经正确安装了 Polymer 项目,并且在项目中引入了 `iron-ajax` 元素。通常通过 Bower 安装依赖项,例如: ```bash bower install --save PolymerElements/iron-ajax ``` 然后,在你的 HTML 文件中引入 `iron-ajax`: ```html <link rel="import" href="../bower_components/iron-ajax/iron-ajax.html"> ``` 接下来可以定义一个 `iron-ajax` 元素并配置其属性来发起请求: ```html <iron-ajax url="https://api.example.com/data" handle-as="json" last-response="{{responseData}}" auto> </iron-ajax> ``` 在这个例子中: - `url` 属性指定了请求的目标 URL。 - `handle-as` 指定响应数据的类型,这里设置为 `json`。 - `last-response` 是一个双向绑定属性,用来存储最近一次请求返回的数据。 - `auto` 属性表示当组件加载完成后自动发送请求。 ### 数据绑定示例 一旦数据被成功获取,可以通过数据绑定将其显示在页面上。例如,可以使用 `<dom-repeat>` 模板来遍历响应数据并生成列表项: ```html <template is="dom-repeat" items="[[responseData.items]]"> <div>[[item.name]]</div> </template> ``` ### 错误处理 为了处理可能出现的错误,可以监听 `iron-ajax` 的 `error` 事件,并提供相应的反馈给用户: ```html <iron-ajax id="ajax" url="https://api.example.com/data" on-error="handleError"></iron-ajax> ``` 对应的 JavaScript 函数如下: ```javascript handleError: function(e) { console.error('An error occurred:', e.detail.request.xhr.statusText); } ``` ### 手动触发请求 如果不想让 `iron-ajax` 在组件加载时自动发送请求,可以移除 `auto` 属性,并通过调用 `generateRequest()` 方法手动触发请求: ```javascript this.$.ajax.generateRequest(); ``` 其中 `this.$` 是一个指向组件内部元素的引用对象,`ajax` 是 `iron-ajax` 元素的 ID。 ### 性能优化 对于频繁使用的 API 请求,可以考虑使用缓存机制减少不必要的网络流量。`iron-ajax` 支持设置 `cache-response` 属性来启用响应缓存功能。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值