Я хотел бы использовать эту библиотеку для предупреждений в моем приложении, созданном с помощью версии Laravel 5.2. Я установил его и создал такой компонент:
<script>
import Simplert from 'vue2-simplert'
export default {
data () {
return {
obj: {
title: 'Alert Title',
message: 'Alert Message',
type: 'info',
useConfirmBtn: true,
customConfirmBtnText: 'OK'
},
}
},
methods: {
openSimplert () {
this.$refs.simplert.openSimplert(this.obj)
},
}
}
</script>
Регистрирую компонент в своем app.js
вот так:
Vue.component('alert', require('./components/Alert.vue'));
const app = new Vue({
el: '#app'
});
А потом пытаюсь использовать его в своем шаблоне:
<alert :useRadius="true"
:useIcon="true"
ref="simplert">
</alert>
Это часть этого шаблона:
@section('content')
<div class="container">
<div class="row">
<div class="col-md-10 col-md-offset-1">
<a class="btn btn-info link-button" href="/extras/create" role="button">Lag ny extra</a>
<div class="panel panel-default">
<div class="panel-heading">Extras</div>
<div class="panel-body">
@foreach($data as $extra)
<div class="media row">
<div class="media-left col-sm-3">
<a href="#">
<img class="media-object" src="/img/extras/{{ $extra->image_path }}" alt="{{ $extra->title }}">
</a>
</div>
<div class="media-body col-sm-6">
<h4 class="media-heading">{{ $extra->title }}</h4>
<p>{{ $extra->description }}</p>
</div>
<div class="col-sm-3 action-buttons">
<a class="btn btn-info" href="/extras/create" role="button">Rediger</a>
<alert :useRadius="true"
:useIcon="true"
ref="simplert">
</alert>
</div>
</div>
@endforeach
</div>
</div>
</div>
</div>
</div>
@endsection
Что включается в шаблон приложения следующим образом:
<div id="app">
<nav class="navbar navbar-default navbar-static-top">
...
</nav>
@yield('content')
</div>
Я вижу компонент в инструментах отладки vue, но HTML не создается, я вижу только это:
<!--function (a, b, c, d) { return createElement(vm, a, b, c, d, true); }-->
Муравей, я получаю сообщение об ошибке в консоли:
[Предупреждение Vue]: не удалось смонтировать компонент: шаблон или функция рендеринга не определены.
найти в
--->
Обновить
После создания нового проекта с Laravel 5.5, поскольку я думал, что установка в Laravel 5.2 создает проблемы, я добавил ту же библиотеку и компонент, и все же этот компонент выдает ошибку, к счастью, другие компоненты теперь работают, но это все равно дает ту же ошибку с настройкой Laravel 5.5 по умолчанию.
<template></template>
отсутствует вAlert.vue
- person Jacob Goh   schedule 09.01.2018Alert.vue
и использовать это для установки компонента предупрежденияVue.component('alert', require('vue2-simplert'));
. Используйте компонент напрямую и сделайтеthis.$refs.simplert.openSimplert(obj)
там, где компонент вызывается. - person Jacob Goh   schedule 09.01.2018<template>
раздел в вашемAlert
компоненте - person thanksd   schedule 09.01.2018<template></template>
, но, поскольку это не описано в документации, я исключил его, поскольку это было просто предложением здесь, в комментариях. - person Leff   schedule 09.01.2018