来自 JSON 的 VueJS 中的语言
Posted
技术标签:
【中文标题】来自 JSON 的 VueJS 中的语言【英文标题】:Language in VueJS from JSON 【发布时间】:2017-05-25 11:08:45 【问题描述】:我正在尝试将区域设置语言变量从 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);
);
);
“语言/身份验证”
"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
【问题讨论】:
你使用的是哪个版本的 vuejs?你用的是 2.x 吗? @MacPrawn 我正在运行 2.0.1 好的 - “ready”在 2.0 中已被弃用...尝试使用“mounted”——请参阅 vuejs.org/v2/guide/migration.html#ready-replaced @MacPrawn 谢谢你,这就是问题所在。我在看一个教程,里面没有提到版本。 既然提供了有效的答案,也许@MacPrawn 可以把它作为答案,这样这个问题就不会显示为未回答 【参考方案1】:确实,“准备好”是deprecated in Vue.js 2
尝试改用“mounted”。
【讨论】:
【参考方案2】:首先,将ready:
改成mounted:
(因为 vuejs 版本 2 已经不支持了)
第二,不要使用this.$set
,而是使用this.lang = response
这是完整的代码 https://jsfiddle.net/uqp7f4zL/
【讨论】:
以上是关于来自 JSON 的 VueJS 中的语言的主要内容,如果未能解决你的问题,请参考以下文章
Vue JS - 如果来自两个不同 json 数组的两个字符串匹配,则显示数据