2017-09-09 134 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