【发布时间】:2018-02-01 14:46:03
【问题描述】:
Vue.js 版本为:2.x
嗨。我正在将 vue js 中的 ajax 请求发送到另一个页面,并获取它的源代码,其中包含 vue.js 语法(例如事件)。当此源添加到属性和属性添加到模板时,ajax 数据源(包含 vue.js 语法)无法呈现,无法正常工作。 例如模板是:
<div id="app">
{{{ foo }}}
</div>
而 app.js 是:
var app = new Vue({
el: '#app',
data: {
foo: 'bar'
},
mounted(){
this.$http.get('/media').then(function(response){
data = response.body;
Vue.set(app, 'foo', data);
});
},
methods: {
alertVideoLink: function(event){
alert(event.target.href);
}
}
});
在上面的app.js代码中,ajax请求返回这个代码(即response.body):
<a href="/media/videos" @click.pevent.self="alertVideoLink(event)">Video Link</a>
但是这个链接不能被渲染并且不能正常工作!我正在测试渲染方法和一些有用的提示,但没有找到。请帮忙...谢谢
【问题讨论】:
-
对我来说听起来像是一个 XY 问题:这就是为什么你必须从你的 API 端点返回一个模板,而不是你然后加载到自定义组件中的 JSON?
-
请假设这是唯一的方法!从 ajax 请求返回的数据包含 vue 语法。但我没有找到任何方法来呈现这些数据。在某些情况下,这是非常有用的方法,并且对于解决非常重要。谢谢
-
如果这是唯一的方法,那么您可能需要重写您的消耗性端点。当您可以简单地传递数据并将该内容交织到组件中时,传递模板字符串是没有意义的。如果你带着“按照我告诉你的那样编写代码”的心态来到 SO,那么你就走错了论坛。
-
是的,我知道 api 端点应该是 json,但在我的项目中这是唯一的方法。谢谢你的评论
-
有人帮不上忙吗?
标签: javascript vue.js vuejs2 javascript-framework