首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用字符串模板从laravel绑定路由值时Vue警告错误

使用字符串模板从laravel绑定路由值时Vue警告错误
EN

Stack Overflow用户
提问于 2020-09-03 14:49:49
回答 1查看 84关注 0票数 1

我正在一个Laravel中工作,并绑定一个laravel路由,以便它可以用于Vue组件中。我正确地v-bind了index.blade.php文件中的路由,然后在Vue组件中的绑定:href中使用它,但是我在控制台中得到了这个错误:

误差值

代码语言:javascript
复制
  [Vue warn]: Error compiling template:

invalid expression: Unexpected token ':' in

    http://myproject.local/classes/4

  Raw expression: v-bind:route="http://myproject.local/classes/4"

我的Classes.vue文件中使用的路由

代码语言:javascript
复制
<a :href="route" target="" class="card-image" :style="{ 'background-image': `url(${invitedClass.imagePath})`}"></a>

在index.blade.php中使用的路由绑定和vue组件

代码语言:javascript
复制
<div id="app">
 <classes :route="{{ route('classes.show',['id' => $invitedClass->id]) }}"></classes>                         
</div>

它似乎不喜欢我的vue组件中的冒号。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-03 15:11:01

如果您在样式绑定中误用字符串模板语法,应该如下所示:

代码语言:javascript
复制
 :style="`background-image: url(${invitedClass.imagePath})`" 

代码语言:javascript
复制
 :style="{ 'background-image': 'url('+invitedClass.imagePath+')'}"

例子:

1-

代码语言:javascript
复制
Vue.config.devtools = false;
Vue.config.productionTip = false;

new Vue({
  el: '#app',

  data() {
    return {
      img: 'https://picsum.photos/id/237/200/300'

    }
  }
})
代码语言:javascript
复制
#someDiv {
  height: 300px;
  width: 200px;
}
代码语言:javascript
复制
<link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap/dist/css/bootstrap.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.js"></script>


<div id="app" class="container">

  <div id="someDiv" :style="`background-image: url(${img})`">
    lorem ipsum
  </div>

</div>

二-

代码语言:javascript
复制
Vue.config.devtools = false;
Vue.config.productionTip = false;

new Vue({
  el: '#app',

  data() {
    return {
      img: 'https://picsum.photos/id/237/200/300'

    }
  }
})
代码语言:javascript
复制
#someDiv {
  height: 300px;
  width: 200px;
}
代码语言:javascript
复制
<link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap/dist/css/bootstrap.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.js"></script>


<div id="app" class="container">

  <div id="someDiv"  :style="{ 'background-image': 'url('+img+')'}">
    lorem ipsum
  </div>

</div>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63726145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档