javascript - 无法将文本绑定(bind)到 VueJS 模板中的 href 属性

标签 javascript html vue.js templates vue-component

我正在使用 VueJS 构建模板。

根据我的“帖子”数据,我已经能够使用以下方法将文本绑定(bind)到 html 元素中,例如 spanap mustache 语法。但是,当我尝试将文本绑定(bind)到元素属性(例如 a 元素中的 href)时,它不起作用。

我看过不同的教程,但没有具体说明如何在同一代码中将文本绑定(bind)到元素及其属性 - 大多数显示其中之一,但不在同一模板中一起显示。


我的 HTML 看起来像这样:

<div id="app">
  <div class="container-fluid">
    <ul class="list-group">
      <post v-for="post in posts" :post="post"></post>
    </ul>
  </div>
</div>

<template id="post-template">
  <li class="list-group-item">
    <a :href="{{posts.url}}">{{ post.title }}</a>
    <p>{{post.text}}</p>
  </li>
</template>

我的 JS 看起来像这样:

Vue.component('post', {
  template: "#post-template",
  props: ['post']
});

var vm = new Vue({
  el: "#app",
  data: {
    posts: [
         {
             title: "First post!",
             text: "First text",
             url: "www.firsturl.com"
         },
         {
             title: "Second post!",
             text: "Second text",
             url: "www.secondurl.com"
         },
         {
             title: "Third post!",
             text: "Third text",
             url: "www.thirdurl.com"
         }
    ]}
});

See my code in JSFiddle

最佳答案

在属性中,您必须直接指示 props 或 JS 表达式,而不需要 mustache :

<a :href="url">{{ post.title }}</a>

关于javascript - 无法将文本绑定(bind)到 VueJS 模板中的 href 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61443346/

相关文章:

javascript - 如何将上下文菜单嵌入 HTML5 视频播放器?

javascript - 单击元素时如何在 Firefox 中获取 VueJS $event?

javascript - Rails View 中的文本区域在 js 中返回 null

javascript - 条件 JavaScript 不起作用

html - 将一个元素与多个兄弟元素一起居中

javascript - 单击浏览器中的后退箭头时避免使用 GET 方法的 URL 参数

typescript - 当它的子属性更改时强制 vue.js 刷新 Prop

javascript - 将 Container 渲染到隐藏的 div 然后设置可见失败

javascript - 你能在 Electron 中使用绝对路径吗?

javascript - 如何找出重叠的 DIV