【发布时间】:2019-11-27 15:32:32
【问题描述】:
在我的 Drupal 7 网站的 html 中有这个
<script>$L = $L.wait(function() {
(function($) {
Drupal.behaviors.related_products = {
attach: function (context, settings) {
artiklar = Drupal.settings.related_products.artiklar;
console.log(artiklar);
}
};
})(jQuery);
});</script>
在上面的变量 artiklar 中,我有一些使用 Drupal 行为从服务器端传递的数据。现在,在客户端,我需要访问 Vue 组件中的变量 artiklar,如下所示:
Vue.component('artikel-lista', {
template:`
<ul>
<artikel v-for="artikel in artiklar">{{ artikel.title }} Pris: {{artikel.price}} <a :href="artikel.link" class="button tiny" target="_blank">Läs mer</a></artikel>
</ul>
`,
data(){
return {
artiklar: "",
};
},
mounted: function(){
this.artiklar = artiklar // how can I access the variable "artiklar" here
},
});
变量中的数据由我的 Vue 组件中需要的项目数组组成。但是如何将脚本标签中的变量传递给 Vue 实例,该实例位于一个单独的文件中,插入到结束正文标签之前。有人吗?
【问题讨论】:
-
它关于上下文/范围而不是关于文件 - eventbus 可以是关键字
-
能否将
artiklar值分配给页面的隐藏输入类型,并通过document.getElementById('hiddenFieldId').value在vue 中访问它? -
Angelo:我尝试了您的建议,将值分配给隐藏输入可以正常工作,但是无法使用 querySelector() 或 getElementById() 获取该值,这与范围可能正如 EstraDiaz 所暗示的那样。
标签: javascript vue.js