vue.js - vuejs 将数据传递给模板 html 属性

标签 vue.js

我是 Vuejs 的新手。 我看到了如何将数据(变量)传递到组件中,但在我的代码中,我需要在模板的 HTML 属性中获取这些变量。

这是我的 HTML :

<div id="activities" class="row text-center activities">
     <myimage text="{{ art_text }}" type="art"></myimage>
</div>

这里是我的 Vuejs 代码(由于 Twig,分隔符改变了):

<script type="text/javascript" src="{{ asset('js/vue.js') }}"></script>

<script type="text/javascript">

    Vue.component('myimage', {
        delimiters: ['${', '}'],
        props: ['text', 'type'],
        template: '<div class="col-lg-3 col-md-3" style="padding-top: 20px;"><h3><a title="${text}" href="#"><span> <img style="width:220px;" alt="Image ${type}"> </span></a></h3><span>${text}</span></div>'
    });

    new Vue({
        el: '#activities'
    });
</script>

但是例如,在我的模板中,我不明白为什么“title”属性没有得到变量 ${text} ...

还有另一种方法可以将数据从自定义元素传递到模板的 HTML 属性吗?

最佳答案

问题是:

Interpolation inside attributes has been removed. Use v-bind or the colon shorthand instead.

此外,per docs :

Mustaches cannot be used inside HTML attributes. Instead, use a v-bind directive.

因此,不是 title="${text}"(因为您使用的是自定义 delimiters,而是等同于 title="{ {文本}}"),

使用:

v-bind:title="text" 

v-bindshorthand :

:title="text" 

关于vue.js - vuejs 将数据传递给模板 html 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49515900/

相关文章:

vue.js - 视觉 : Access Vue component method inside rendered named slot

javascript - 如何在 Laravel 项目中为 VueJS 3 设置 compilerOptions.isCustomElement

javascript - Vue JS 条件渲染

vue.js - 如何配置 Vite 来解析嵌套的 SFC CSS url

vue.js - 内联(模板内)事件处理程序中的 Vue 2 参数

javascript - 我应该如何使用 Jest 为我的 Vue 组件编写测试?

vue.js - VueJS - Vue 未定义

javascript - 如何在 Vue 3 中为 axios 调用使用去抖功能

vue.js - 构建 Vue.js 应用程序时 JavaScript 堆内存不足

typescript - 如何将 Vue 插件包含到 Vue TypeScript 的模板中?