gpt4 book ai didi

javascript - Vue.js 脚本在 Laravel 5.5 中不执行任何操作

转载 作者:行者123 更新时间:2023-11-30 20:55:03 26 4
gpt4 key购买 nike

当有人点击 + 号时,我试图将新的文本字段添加到现有表单中。这在我创建的代码片段中运行良好。但它在我的 Laravel 5.5 站点中不起作用。

我的控制台没有任何错误。

HTML 进入 create.blade.php,vue 脚本进入 addFlavor.vue我是我的 app.js 我把:

Vue.component('addflavor-component', require('./components/addFlavor.vue'));

// addFlavor.vue
new Vue({
el: '#vue',
data() {
return {
formdata: [],
flavors: [{
name: '',
percentage: '',
}]
}
},
methods: {
addAroma: function(){
this.flavors.push({
name: '',
percentage: ''
})
}
},

})
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://cdn.jsdelivr.net/vue/1.0.12/vue.min.js"></script>
<!-- create.blade.php -->
<div id="vue">

<div class="form-row align-items-left" v-for="flavor in flavors">

<div class="col form-inline">
<label class="sr-only" for="flavorname">Aroma 1</label>
<div class="form-group">
<input type="text"
class="form-control mb-2 mb-sm-0"
id="flavorname"
v-model="flavor.name">
</div>
<div class="input-group md-2 mb-sm-0">
<input type="text"
class="form-control"
id="percentage"
v-model="flavor.percentage">

<div class="input-group-addon">%</div>
</div>
<button class="btn btn-success mt-5 mb5" @click="addAroma">+</button>
</div>
</div>

<hr>

<pre>
{{ $data | json }}
</pre>

</div>

如何在我的 Laravel 5.5 站点中正确使用此脚本?

最佳答案

重命名您的文件 addFlavor.vueAddFlavor.vue (遵循 VueJS 的建议)。

将该文件中的代码更改为:

export default {
name: 'add-flavor',

data() {
return {
formdata: [],
flavors: [{
name: '',
percentage: '',
}]
}
},

methods: {
addAroma() {
this.flavors.push({
name: '',
percentage: ''
})
}
},
}

更改app.js中的代码到

import AddFlavor from './components/AddFlavor.vue';

const app = new Vue({
el: '#vue',
components: {
'addflavor': AddFlavor,
}
});

将以下行添加到 webpack.min.js : mix.js('resources/assets/js/app.js', 'public/js');并包括 app.js通过 <script src="{{ mix('/js/app.js') }}"></script> 在您的 Blade 布局文件中.

从您的 HTML 文件中删除手动 VueJS 导入。它不是必需的,因为它已经在 package.json 中定义并且将通过 NPM 安装。此外,您导入 VueJS 的 1.x 版本,但最新版本是 2.5.x。我强烈推荐这个。

<!-- create.blade.php -->
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>

<div id="vue"><!-- <-- This could go to your main layout file -->
<add-flavor inline-template>
<div class="form-row align-items-left" v-for="flavor in flavors">
<div class="col form-inline">
<label class="sr-only" for="flavorname">Aroma 1</label>
<div class="form-group">
<input type="text" class="form-control mb-2 mb-sm-0" id="flavorname" v-model="flavor.name">
</div>
<div class="input-group md-2 mb-sm-0">
<input type="text" class="form-control" id="percentage" v-model="flavor.percentage">

<div class="input-group-addon">%</div>
</div>
<button class="btn btn-success mt-5 mb5" @click="addAroma">+</button>
</div>
</div>
</add-flavor>
<hr>

<pre>{{ $data | json }}</pre>

</div>

所以说,如果还没有完成,请通过 npm install 安装所有节点依赖项或 yarn install然后运行 ​​node run watch .这应该构建所有需要的模块。

关于javascript - Vue.js 脚本在 Laravel 5.5 中不执行任何操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47753809/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com