- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如 docs 中所述,您可以在自定义路径中创建组件,这与默认的 views/livewire/
和 Http/Livewire
不同。为了更好地组织,我创建了子文件夹:
$ php artisan make:livewire tutorial/counter
所以我在以下路径中获取了我的文件:
views/livewire/tutorial/counter.blade.php
Http/Livewire/Tutorial/Counter.php
为了在 View 中测试组件,我创建了一个 /livewire/tutorial/welcome.blade.php
,其中包含以下内容:
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Livewire tutorial: counter</title>
<!-- Fonts -->
<link href="https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700&display=swap" rel="stylesheet">
<!-- Styles -->
<style>
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}a{background-color:transparent}[hidden]{display:none}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}*,:after,:before{box-sizing:border-box;border:0 solid #e2e8f0}a{color:inherit;text-decoration:inherit}svg,video{display:block;vertical-align:middle}video{max-width:100%;height:auto}.bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.bg-gray-100{--bg-opacity:1;background-color:#f7fafc;background-color:rgba(247,250,252,var(--bg-opacity))}.border-gray-200{--border-opacity:1;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity))}.border-t{border-top-width:1px}.flex{display:flex}.grid{display:grid}.hidden{display:none}.items-center{align-items:center}.justify-center{justify-content:center}.font-semibold{font-weight:600}.h-5{height:1.25rem}.h-8{height:2rem}.h-16{height:4rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.leading-7{line-height:1.75rem}.mx-auto{margin-left:auto;margin-right:auto}.ml-1{margin-left:.25rem}.mt-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.ml-2{margin-left:.5rem}.mt-4{margin-top:1rem}.ml-4{margin-left:1rem}.mt-8{margin-top:2rem}.ml-12{margin-left:3rem}.-mt-px{margin-top:-1px}.max-w-6xl{max-width:72rem}.min-h-screen{min-height:100vh}.overflow-hidden{overflow:hidden}.p-6{padding:1.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.pt-8{padding-top:2rem}.fixed{position:fixed}.relative{position:relative}.top-0{top:0}.right-0{right:0}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.text-center{text-align:center}.text-gray-200{--text-opacity:1;color:#edf2f7;color:rgba(237,242,247,var(--text-opacity))}.text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.underline{text-decoration:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.w-5{width:1.25rem}.w-8{width:2rem}.w-auto{width:auto}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}@media (min-width:640px){.sm\:rounded-lg{border-radius:.5rem}.sm\:block{display:block}.sm\:items-center{align-items:center}.sm\:justify-start{justify-content:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:h-20{height:5rem}.sm\:ml-0{margin-left:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pt-0{padding-top:0}.sm\:text-left{text-align:left}.sm\:text-right{text-align:right}}@media (min-width:768px){.md\:border-t-0{border-top-width:0}.md\:border-l{border-left-width:1px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media (prefers-color-scheme:dark){.dark\:bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.dark\:bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.dark\:border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.dark\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.dark\:text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}}
</style>
<style>
body {
font-family: 'Nunito';
}
</style>
@livewireStyles
</head>
<body class="antialiased">
<livewire:counter />
@livewireScripts
</body>
</html>
当我到达路线时,出现以下错误:
Livewire\Exceptions\ComponentNotFoundException Unable to findcomponent: [counter]
我已经试过了:
$ php artisan livewire:discover
但我仍然遇到该错误。
我错过了什么?
已解决
正如 Najmus 所建议的那样,我尝试了:
<livewire:path.to.counter />
成功了!
最佳答案
在 welcome.blade.php 文件中试试这个
<livewire:tutorial.counter />
代替
<livewire:counter />
关于laravel-livewire - 在自定义路径中创建组件后未找到 Livewire 组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64745082/
我正在学习如何使用 livewire 和 laravel,我试图通过输入绑定(bind)一些数据 我写了这段代码: home.blade.php: Home @livewireSt
我有一个包含几张卡片的 livewire 概览组件。在这些卡片中有一个 livewire 表单,但是当我将表单包含到概览组件中时,我的整个 livewire 停止工作。 我添加到概览组件文件中的唯一一
如 docs 中所述,您可以在自定义路径中创建组件,这与默认的 views/livewire/ 和 Http/Livewire 不同。为了更好地组织,我创建了子文件夹: $ php artisan m
如 docs 中所述,您可以在自定义路径中创建组件,这与默认的 views/livewire/ 和 Http/Livewire 不同。为了更好地组织,我创建了子文件夹: $ php artisan m
我正在尝试将用户的地理坐标(纬度和经度)发送到 livewire 组件以加载附近的地点。但是我无法发送它,因为它们是 javascript 变量。问题是如何将 javascript 变量发送到 liv
我想做的是从数据库中获取一些数据并将其显示在 Input Value 字段中,但这里的问题是当我使用 wire:model='some_input_name' 值不显示。如果我删除 wire:mode
在我应用新的 livewire V2 编程风格之前,我有一个连接到模型的各个属性的表单。为了触发字段的实时验证,我在组件中使用了这个(例如 name 属性): public function upda
有 3 个 livewire 组件 UserIsExpired、UserIsActive 和 UserIsPending 以及每个组件对应的 3 个按钮。单击按钮时,它应该用其各自的组件替换先前的组件
有 3 个 livewire 组件 UserIsExpired、UserIsActive 和 UserIsPending 以及每个组件对应的 3 个按钮。单击按钮时,它应该用其各自的组件替换先前的组件
I have used Laravel 10 with Livewire 3 and Turbolink.我已经使用Laravel 10与Livewire 3和Turbolink。 When
我有一个带有“存储”方法的 Laravel Controller 。即存储(请求 $request)。 对于 View ,我想嵌入一个 livewire 组件,然后利用 livewire 组件方法中现
在 laravel 7/livewire 1.3/alpinejs 2 项目中,我制作了 crud,当为了添加/编辑,我将 livewire.admin.app-news.form 包含在数据列表中(
我使用的是 laravel 8。 我在 RouteServiceProvider 中定义了 protected 命名空间: protected $namespace = 'App\Http\Contr
我正在使用 Laravel Livewire,这里我有 3 个表格显示在一页上,但问题是分页显示正确但不起作用(URL 更改为 http://127.0.0.1:8000/blogpost?EnPos
我想在更新父组件时刷新子组件,并且只有该组件的子组件应该更新,因为我想在页面的其他地方重用子组件。组件结构如下。UserShow.php class UserShow extends Componen
我可以将数据传递给组件,但在 Alpine js 的模态中,数据为空。 这是类: public $code, $products; public function getData($id)
我有2个livewire组件,第一个仅显示购物车的session变量,第二个只是在购物车中添加项目(一种非常原始的形式,带有sku,标题,价格和数量)。 这两个组件本身都可以正常工作。但是,当我从
我尝试通过 laravel 队列加载多个图像,如下所示: Controller : foreach ($this->imagenes as $pathGaleria) { $image
我想了解 Livewire 组件中的挂载和渲染方法有什么区别,因为我看到过这两种方法都用于定义变量初始状态的示例。例如,当您使用模型中的记录实例化一个变量时,“哪个位置是使用 ORM 语法加载数据的正
我尝试通过 laravel 队列加载多个图像,如下所示: Controller : foreach ($this->imagenes as $pathGaleria) { $image
我是一名优秀的程序员,十分优秀!