vuejs2 - VFOR Loop 无法访问全局服务器链接
问题描述
我有一个 vue.js 2.0 应用程序,
将我的服务器 url 注册为全局变量,如下所示main.js:
Vue.server = Vue.prototype.server = "http://localhost:3000/";
现在,我正在尝试在v-for 循环内显示一些图片,在 vue 组件文件users.vue 内:
<div v-for="user in users" class="col-sm col-xs-12">
<div class="card " style="margin-bottom : 20px">
<img v-bind:src="this.server + user.img " class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">{{user.nom}}</h5>
<p class="card-text">Voici la description de mon profil .</p>
<a v-on:click="route(user._id)" class="btn btn-primary float-right">Profil</a>
<!-- <span class="badge badge-warning"> {{ info }}</span> -->
</div>
</div>
</div>
我有这个错误:
TypeError: "this is undefined"
V-for 不接受我的 this.server 变量。
如何在 v-for 循环中访问我的全局 URL ?(PS:我可以在任何经典模板上访问 this.server,除了 v-for)
编辑:像这样解决了我的问题:
div v-for="user in users" class="col-sm col-xs-12">
<div class="card " style="margin-bottom : 20px">
<img v-bind:src="gettinSrv() + user.img " class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">{{user.nom}}</h5>
<p class="card-text">Voici la description de mon profil .</p>
<a v-on:click="route(user._id)" class="btn btn-primary float-right">Profil</a>
<!-- <span class="badge badge-warning"> {{ info }}</span> -->
</div>
</div>
</div>
使用这种方法:
methods: {
gettinSrv: function () {
return this.server;
}
编辑2: KCP有正确答案,请忘记编辑1,谢谢!
解决方案
这只是一个简单的语法错误。只需使用server
而不是this.server
内部v-for
循环。
推荐阅读
- javascript - 如何检查该对象不允许为空?
- android - 当再次调用编辑文本时,EditText 中的日期应保持其先前的值
- r - 如何使用 ggplot2 创建具有多个条形的直方图,其中每个数据观察值都是 0 或 1 选择?
- javascript - 根据模型(Angular)在下拉列表中获取正确的值
- angular - Angular 6如何设置来自观察者的承诺的返回类型
- angular - 我无法解析数据并转换为平面列表
- android - 单击菜单时隐藏导航栏?
- reactjs - 将状态传递给下拉选项?
- javascript - 想让 Canvas 上的颜色更薄,取决于深度
- angular - 如何在角度 7 中将动态值设置为 formControl