VSON中的语言来自JSON

时间:2017-01-10 20:21:15

标签: javascript json laravel vuejs2 vue.js

我正在尝试将区域设置语言变量从JSON请求(生成的laravel)加载到VueJS,因为VueJS不支持开箱即用的区​​域设置。就绪功能警报不会发出警报,但随机文本数据变量确实有效。我知道VueJS正确加载。没有控制台错误,webpack编译vue。 lang数组显示为空,lang.email显示为空白。这是我的问题。任何帮助表示赞赏。

const app = new Vue({
    el: '#app',
    data: {
      lang: [],
      randomtext: 'This is Random Text'
    },
    ready: function() {
      alert('THIS DOES NOT ALERT');
      this.getLanguage();
     },
     methods: {
       getLanguage: function() {
         this.$http.get('/lang/auth').then((response) => {
            this.$set("lang", response)
          }, (response) => {
            alert(response);
          });
       }
     }
});

'lang / auth'

{"email":"Email Address","password":"Password"}

我的HTML:

 <h5 class="content-group">@{{ randomtext }}</h5> // This Works
 <input type="text" class="form-control" :placeholder="lang.email"> // This does not

2 个答案:

答案 0 :(得分:0)

确实,&#34;准备好&#34;是deprecated in Vue.js 2

尝试使用&#34; mounted&#34;代替。

答案 1 :(得分:0)

首先,将ready:更改为mounted:

(因为,vuejs版本2不再支持它了)

第二次,而不是使用this.$set使用this.lang = response

这是完整的代码 https://jsfiddle.net/uqp7f4zL/