javascript - WordPress REST API 与 Vue.js - 显示 ajax 响应,数组未更新

标签 javascript ajax wordpress twitter-bootstrap vue.js

我正在学习VueJS。我需要为 WordPress 自定义 AJAX 主题设置一个 Vue 实例。我有这段代码,我认为没问题。我想渲染 WordPress 网站的页面,然后如果用户单击,则加载内容。

我使用 bootstrap 4 作为我的前端框架

<div class="container-fluid content-wrapper">
  <div class="row" id="app">
<!-- Sidebar Top Area -->
    <div class="col-sm-12 col-md-4 col-lg-5" id="navPanel">
<!-- Lista pagine -->
      <h1 class="home-claim" v-bind:title="pagename" v-for="page in pagenames" >
        {{ page.title.rendered }}
      </h1>
    </div>
    <div class="col-sm-12 col-md-8 col-lg-7" id="contentPanel">
<!-- contenuto pagine -->
    </div>
<!-- Sidebar Bottom Area -->
  </div>
</div>
  var app = new Vue({
    el: '#app',
    data: {
      pagenames: []
    },
    mounted() {
      var self = this;
      var url = 'wp-json/wp/v2/pages';
      $.getJSON( url, function(data){
          self.pagenames = data.title.rendered;
          console.log(data.title.rendered);
        //console.log(data);
      });
    }
  });

我无法显示页面列表。怎么了?

最佳答案

在 ajax 响应之后,您将 data.title.rendered 字符串分配给组件的属性 pagenames(之前定义为空数组)。假设响应中的 data 返回页面/帖子数组,您应该分配完整数据:

 var app = new Vue({
    el: '#app',
    data: {
      pagenames: []
    },
    mounted() {
      var self = this;
      var url = 'wp-json/wp/v2/pages';
      $.getJSON( url, function(data){
          self.pagenames = data;
      });
    }
  });

关于javascript - WordPress REST API 与 Vue.js - 显示 ajax 响应,数组未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60174596/

相关文章:

wordpress - 使用 htaccess 屏蔽 wp-admin 文件夹

php - 我应该如何清理仅在页面上使用的 _GET 变量?

php - 在 foreach 循环中为每个类添加 +1

javascript - 像 Javascript "round()"这样的 "Math.round()"的 Pythonic 方式?

javascript - 将JS单行对象实例化转换为 block 实例化

javascript - 为什么空数组上的 findIndex 不返回 -1?

javascript - 从 updatepanel 获取 JavaScript/jQuery 中的隐藏字段值

javascript - 单击按钮后自动搜索(ajax 调用)不起作用

javascript - 使用 Node 请求模块的 UTF8 字符编码

javascript - 发送在 POST 正文请求中具有动态值的 JSON