2017-09-09 101 views
2

我们知道,如果我们把<script>标签在“厄尔尼诺” vuejs,会显示错误..它让我不能放任何广告在VUE EL显示广告El

例如:

new Vue({ 
 
    el: '#app', 
 
    data: { 
 
    message: 'Hello Vue.js!' 
 
    } 
 
})
<script src="https://unpkg.com/[email protected]/dist/vue.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div id="app"> 
 
{{ message }} 
 
<script data-cfasync='false' type='text/javascript' src='//p31898.clksite.com/adServe/banners?tid=31898_118905_0'></script> 
 
</div>

  • 模板应该只负责状态映射到用户界面。避免在模板中放置带副作用的标签,例如,因为它们不会被解析。

所以是不可能把广告放在Vue el?

回答

0

这是不可能的,因为el选项用于指定使用Vue.js组件编译的DOM。这就是为什么你的错误说Templates should only be responsible for mapping the state to the UI。 Vue.js编译器所做的工作只是将诸如数据,计算方法或类似事物映射到挂载组件中。

只有你可以做的方式不包括<script>标签在你的目标元素。

<div> 
    <div id="app"> 
    {{ message }} 
    </div> 
    <script data-cfasync='false' type='text/javascript' src='//p31898.clksite.com/adServe/banners?tid=31898_118905_0'></script> 
</div> 
+0

所以,我做2区? 1个区域仅适用于Vue(用于编译数据,组件等)和其他区域以显示广告? –

+0

是的。那就对了。 – IzumiSy

0

我认为这是不可能的,先生,但我的替代方案,也许可以帮助你需要split你的HTML元素。

首先,使用Vue.js为(来自数据库等)再次另一个编译数据

<div id="app"> 
    {{ data }} 
</div> 

则显示你的广告

<div id="ads-example"> 
    <script data-cfasync='false' type='text/javascript' src='//p31898.clksite.com/adServe/banners?tid=31898_118905_0'></script> 
</div> 

,并最后创建HTML元素创建HTML元素广告元素后的Vue el。我希望它可以帮助你:)

+0

那么,就是这样的结构? '''

''' –

+0

是的,没错:) – DeVoresyah