2017-01-18 84 views
0

我已經創建了一個與Vue公司JS SEO輸入域字符計數器。它在jsfiddle中完美運行,但是當我使用Laravel實現它時。它不工作。它不給任何錯誤,它顯示麻煩實施VUE JS與Laravel

NaN characters remaining.

在它應該出現剩餘的字符數。

我在的jsfiddle代碼中的jsfiddle完美。

<script src="https://unpkg.com/vue/dist/vue.js"></script> 
<div id="app"> 
    <label for="title">SEO Description</label><br> 
     <textarea v-model="seo_description" value="{{seo_description }}" maxlength="156"> 
     </textarea> 
    <p>Characters remaining:@{{ maxlength-seo_description.length }}</p> 
</div> 
new Vue({ 
    el: "#app", 
    data: { 
    maxlength: 156, 
    seo_description: '' 
    } 
}); 

我在laravel視圖代碼:

<div id="app"> 
    <label for="title">SEO Description</label><br> 
     <textarea name="keyword" v-model="keyword" class="form-control meta" maxlength="255"> 
     </textarea> 
     <p>@{{ maxlength-keyword.length }} characters remaining.</p> 
</div> 
<script> 
var keyword = new Vue({ 
    el: "#app", 
    data: { 
    maxlength: 255, 
    keyword: '' 
    } 
}); 

我試圖複製我的代碼到的jsfiddle並運行,它的工作原理perfeectly那裏。但它不會與laravel一起運行。

+0

旁註:你真的應該考慮把'charactersRemaining'一個'computed'屬性。 – ceejayoz

+0

我還沒有安裝吞嚥,也沒有將vue js鏈接到我的laravel。我剛剛安裝了laravel。我的vue js dev工具chrome擴展檢測到vue js。所以我不認爲我應該把jue連接到這個laravel。 –

+0

@ceejayoz它在小提琴中的工作方式,但不與拉拉維爾運行爲什麼??????????? –

回答

0

這應該是問題

value="{{seo_description }}" 

你是不是逃了vue.js.您應該做的

value="@{{seo_description}}" 

:value="seo_description" 

,你真的需要seo_description添加到您的數據。始終初始化默認數據 - 即使該值爲空。

但是你並不需要這在所有實際。既然你已經將價值限定在模型上了。

最後一句話:我想你應該總是包裝你vue.js輸出,如

<p>@{{ maxlength-keyword.length }} characters remaining.</p> 

爲元素

<p><span>@{{ maxlength-keyword.length }}</span> characters remaining.</p> 
0

在laravel 5.3 VUE JS已經into.default一起使用jQuery放。

嘗試從您的主要佈局或母版版式或任何佈局中刪除app.js或main.js到時候你可以每個刀片現在使用VUE實例。

確保包括從家居佈置第一VUE JS依賴