当前位置: 首页 > news >正文

上海网站建设方案wordpress 获取附件链接

上海网站建设方案,wordpress 获取附件链接,广州知名网站建设性价比高,上海市网站建设加盟更多的往往不是#xff0c;建立你的JavaScript应用程序时#xff0c;你会想把数据从远程源或消耗一个[ API ]#xff08;https#xff1a;/ /恩。维基百科。org /维基/ application_programming_interface#xff09;。我最近看了一些[公开]#xff08;https://github.co…更多的往往不是建立你的JavaScript应用程序时你会想把数据从远程源或消耗一个[ API ]https/ /恩。维基百科。org /维基/ application_programming_interface。我最近看了一些[公开]https://github.com/toddmotto/public-apis API发现有很多很酷的东西可以从这些来源的数据。 通常情况下在构建 JavaScript 应用程序时您希望从远程源或从API获取数据。我最近研究了一些公开的API发现可以使用这些数据源完成很多很酷的东西。 更多来自作者的提示 快速提示如何在JavaScript中排序对象数组使用Vue.js可以逐步地构建围绕其中一个服务的应用程序并在几分钟内就可以开始向用户提供内容服务。 我将演示如何构建一个简单的新闻应用程序它可以显示当天的热门新闻文章并允许用户按照他们的兴趣类别进行过滤从纽约时报API获取数据。您可以在这里找到本教程的完整代码。 下面是最终应用的外观 要学习本教程您将需要一些非常基本的Vue.js的知识。 您可以在这里找到一个很棒的“入门指南”。 我还将使用ES6语法您可以到这里进一步学习https://www.sitepoint.com/tag/es6/ 。 项目结构 为了保持简单我们只使用2个文件: ./app.js ./index.html app.js将包含我们应用程序的所有逻辑index.html 文件将包含我们应用程序的主视图。 我们先在 index.html 中写一些基本的标记: !DOCTYPE html html langenheadmeta charsetutf-8titleThe greatest news app ever/title/headbodydiv classcontainer idapph3 classtext-centerVueNews/h3 /div/body /html然后在index.html的底部导入 Vue.js和app.js就在/body标签之前 script srchttps://unpkg.com/vue/script script srcapp.js/script 可选的我们还可以导入Foundation以利用一些预先创建的样式来使我们的视图看起来更好一点。 link relstylesheet hrefhttps://cdnjs.cloudflare.com/ajax/libs/foundation/6.3.1/css/foundation.min.css 创建一个简单的 Vue App 首先我们将在div#app 元素上创建一个新的 Vue 实例并使用一些测试数据来模拟新闻API的响应 // ./app.js const vm new Vue({ el: #app, data: { results: [ {title: the very first post, abstract: lorem ipsum some test dimpsum}, {title: and then there was the second, abstract: lorem ipsum some test dimsum}, {title: third times a charm, abstract: lorem ipsum some test dimsum}, {title: four the last time, abstract: lorem ipsum some test dimsum} ] } }); 我们通过el选项告诉 Vue 要挂载的目标元素并通过data选项指定我们的应用程序用到的数据。 要在我们的应用程序视图中显示这些模拟数据我们可以在#app元素中写入下面的标记 !-- ./index.html -- div classcolumns medium-3 v-forresult in resultsdiv classcarddiv classcard-divider{{ result.title }}/divdiv classcard-sectionp{{ result.abstract }}./p/div/div /divv-for 指令用于渲染我们的 results 列表。 我们使用双花括号来显示每一项的内容。 您可以在 Vue 模板语法 这里内容 我们现在已经完成了基本的布局工作 从 API 获取数据 要使用 纽约时报API您需要获得一个API密钥。所以如果你还没有请到这里https://developer.nytimes.com/signup 注册并获取一个热点事件API的API密钥。 创建Ajax请求和处理响应 Axios是一个基于 Promise 的HTTP客户端用于创建 Ajax请求并且非常适合我们的应用。它提供了一些简单而丰富的API。 它与fetchAPI非常相似但不需要为旧版浏览器额外的添加一个polyfill另外还有一些很巧妙的地方。 以前vue-resource 通常用于Vue项目但现在已经退休了。 导入 axios: !-- ./index.html -- script srchttps://unpkg.com/axios/dist/axios.min.js/script现在一旦我们的Vue应用被挂载 - mounted到页面我们就可以创建home部分获取热点事件列表的请求 // ./app.jsconst vm new Vue({ el: #app, data: { results: [] }, mounted() { axios.get(https://api.nytimes.com/svc/topstories/v2/home.json?api-keyyour_api_key) .then(response {this.results response.data.results}) } }); 记住: 将your_api_key替换为之前获取的实际API密钥。 现在我们可以在我们的应用主页上看到新闻列表。不要担心扭曲的视图我们之后再说 来自纽约时报 API 的响应通过 Vue Devtools 查看起来像下面这样 提示: 获取 Vue Devtools来使Vue应用调试更加简单。 为了使我们的工作更加整洁可重用我们将做一些小小的重构并创建一个辅助函数来构建我们的URL。我们还将注册getPosts作为我们应用程序的一个方法将其添加到methods对象中 const NYTBaseUrl https://api.nytimes.com/svc/topstories/v2/; const ApiKey your_api_key; function buildUrl (url) { return NYTBaseUrl url .json?api-key ApiKey } const vm new Vue({ el: #app, data: { results: [] }, mounted () { this.getPosts(home); }, methods: { getPosts(section) { let url buildUrl(section); axios.get(url).then((response) { this.results response.data.results; }).catch( error { console.log(error); }); } } }); 通过引入 计算属性 对API获取的原始results来进行一些修改然后对我们的视图进行一些更改。 // ./app.jsconst vm new Vue({ el: #app, data: { results: [] }, mounted () { this.getPosts(home); }, methods: { getPosts(section) { let url buildUrl(section); axios.get(url).then((response) { this.results response.data.results; }).catch( error { console.log(error); }); } }, computed: { processedPosts() { let posts this.results; // Add image_url attribute posts.map(post { let imgObj post.multimedia.find(media media.format superJumbo); post.image_url imgObj ? imgObj.url : http://placehold.it/300x200?textN/A; }); // Put Array into Chunks let i, j, chunkedArray [], chunk 4; for (i0, j0; i posts.length; i chunk, j) { chunkedArray[j] posts.slice(i,ichunk); } return chunkedArray; } } }); 在上面的代码在processedPosts的计算属性中我们为每个新闻文章对象添加了一个image_url属性。 我们通过循环遍历API中的results并在单个结果中搜索multimedia数组找到所需格式的媒体类型然后将该媒体的URL分配给“image_url”属性 。 如果媒体不可用我们会将默认网址设为Placehold.it的图像。 我们还写了一个循环将我们的results数组分组成4块。这将改善我们前面看到的扭曲的视图。 注意:您也可以轻松地使用Lodash等库进行分块 计算属性非常适合操纵数据。而不用创建一个方法并且每次在我们需要将我们的帖子数组分块时我们可以简单地将它定义为一个计算属性并根据需要使用它因为Vue会随时自动更新processedPosts计算属性的变化。 计算的属性也是基于它们的依赖关系缓存的所以只要results不变processedPosts属性返回一个自己的缓存版本。这将有助于提升性能特别是在进行复杂的数据操作时。 接下来我们在index.html中编辑我们的html来显示我们的计算结果 !-- ./index.html -- div classrow v-forposts in processedPosts div classcolumns large-3 medium-6 v-forpost in posts div classcard div classcard-divider {{ post.title }} /div a :hrefpost.url target_blankimg :srcpost.image_url/a div classcard-section p{{ post.abstract }}/p /div /div /div /div 现在应用程序看起来更好了 介绍新闻列表组件 组件 可用于使应用程序的更加模块化并且扩展了HTML。 新闻列表可以重构为一个组件例如如果应用程序增长并且可能会在其他地方的使用新闻列表那将很容易实现。 // ./app.jsVue.component(news-list, { props: [results], template: section div classrow v-forposts in processedPosts div classcolumns large-3 medium-6 v-forpost in posts div classcard div classcard-divider {{ post.title }} /div a :hrefpost.url target_blankimg :srcpost.image_url/a div classcard-section p{{ post.abstract }}/p /div /div /div /div /section , computed: { processedPosts() { let posts this.results; // 添加 image_url 属性 posts.map(post { let imgObj post.multimedia.find(media media.format superJumbo); post.image_url imgObj ? imgObj.url : http://placehold.it/300x200?textN/A; }); // Put Array into Chunks let i, j, chunkedArray [], chunk 4; for (i0, j0; i posts.length; i chunk, j) { chunkedArray[j] posts.slice(i,ichunk); } return chunkedArray; } } }); const vm new Vue({ el: #app, data: { results: [] }, mounted () { this.getPosts(home); }, methods: { getPosts(section) { let url buildUrl(section); axios.get(url).then((response) { this.results response.data.results; })转载于:https://www.cnblogs.com/libin-1/p/6786348.html
http://www.pierceye.com/news/838416/

相关文章:

  • 免费在线自助建站搬瓦工可以长期做网站
  • 建设外贸网站报价外贸网站制作推广公司
  • 网站开发人员工作内容白沟做网站
  • 产品展示网站模板源码产品宣传
  • 国内wordpress有名的网站河南住房和城乡建设厅网站资质
  • 湛江seo建站wordpress5.1更新
  • 泊头公司做网站做网站价格差异很大
  • 网站开发啊wordpress 图片本地化
  • 尚品中国多年专注于高端网站建设免费加盟无需店面
  • 游标卡尺 东莞网站建设wordpress 域名解析
  • 站长工具视频怎么开免费网站
  • 网站地址怎么申请注册最近新闻大事
  • interidea 做网站网站域名备案 更改
  • 哈尔滨公司做网站动画设计的大学排名
  • 网站建设与网页制作试卷网站搜索引擎优化推广
  • 网站子目录设计网站开发数据库技术
  • 可以做音基题的音乐网站上海网站设计公司有哪些
  • 昆明做网站公司做家居的网站
  • 网站建设首选易网宣软文代发
  • 手机版网站开发用什么语言自己建设的网站怎么赚钱
  • 宁波建设监理协会网站软件开发文档的作用
  • 兰州电商平台网站建设网路神做网站怎么样
  • 诸城易讯网站建设服务中心网址的域名
  • 制作商务网站应用公园制作app软件下载
  • 情头定制网站被称为网站开发神器
  • 宝安网站设计案例淘宝页面制作
  • 天津品牌网站制作怎样建设网站流程
  • 怎样进行公司网站建设wordpress主题公司
  • 外宣做网站宣传网站功能描述
  • 部队网站建设多少钱营销自己的网站