我有一个输入视图 <ion-input #codigobarras></ion-input>
如何自动关注此输入?
@ViewChild('codigobarras') input_codigobarras: Input;
...
ionViewDidEnter() {
this.input_codigobarras.focus(); // didn't work = temp2.focus is not a function
this.input_codigobarras.focus.emit(); // didn't work = do nothing, just returns undefined
this.input_codigobarras.getElementRef().nativeElement.focus() // didn't work = do nothing, just returns undefined
this.input_codigobarras.setFocus(); // didn't work = do nothing, just returns undefined
}
Run Code Online (Sandbox Code Playgroud)
<ion-input [autofocus]></ion-input> <!-- Didn't work -->
Run Code Online (Sandbox Code Playgroud) 我刚刚安装了 PhpStorm 2020.2,注意到所有 php 基类,如 Closure 或 mysqli 都没有被 IDE 识别。
查看左侧 PHP 基本文件所在的位置,它只显示文件夹,就像您在第一张图片中看到的那样,另一方面,我的旧版 PhpStorm 2017 包含其中包含文件的文件夹,无法识别所有 php 基类
如何在 hasMany 关系上创建验证
那是我的产品型号
public function produtoAtributos(){
return $this->hasMany("App\ProdutoAtributo", "produto_id", 'id')->latest();
}
Run Code Online (Sandbox Code Playgroud)
在控制器中,我填写输入而不是保存它
$produtoatributos = $model->produtoAtributos()->getModel();
$produtoatributos->tipo = $produtoAtributo['tipo'];
$model->produtoAtributos()->save($produtoatributos);
Run Code Online (Sandbox Code Playgroud)
表单输入看起来像这样
<input name="ProdutoAtributos[0]['tipo']" />
Run Code Online (Sandbox Code Playgroud)
如何为关系添加验证?
我有这样的关系
因此,必须创建一个数据透视表和一个belongsToMany关系,但我的数据透视表有一些额外的列,例如finished和order
我想要有两种关系,一种是从运动中获取所有步骤,另一种是从运动中获取当前步骤(最后完成的步骤)
我知道如何获得所有步骤
public function steps()
{
return $this->belongsToMany(MovementStep::class, 'movement_movement_steps')
->withPivot('order', 'finished')
->orderBy('pivot_order');
}
Run Code Online (Sandbox Code Playgroud)
但目前的步骤又如何呢?我需要这种关系,但只返回一条记录并能够立即加载它,因为我将其传递给 vue.js
public function current_step()
{
return $this->belongsToMany(MovementStep::class, 'movement_movement_steps')
->withPivot('order', 'finished')
->where('finished', true)
->orderBy('pivot_order', 'desc');
}
Run Code Online (Sandbox Code Playgroud)
请注意,我想在没有额外包的情况下做到这一点
替代解决方案,但带有额外的包: Laravel hasOne 通过数据透视表(不是标记为正确的答案,来自 @cbaconnier 的答案)
EDIT1 \n这是我的错误,只是使用{!! $message!!}作品
我正在尝试返回这些<i></i>标签以供查看,如何在 Blade 中渲染它?
我尝试过这个{{ $message }}和这个{!! $message !!}
控制器
\n\n $model_filial = new Filial();\n $alerts = [];\n if (!$model_filial->hasEmail($request->codigoempresa, $user->codigofilial)) {\n $filial = $model_filial->getFilial($request->codigoempresa, $user->codigofilial);\n $alerts[] = [\n \'message\' => "N\xc3\xa3o foi possivel enviar o e-mail pois a filial <i>".name_case($filial->nome)."</i> n\xc3\xa3o possui um e-mail cadastrado",\n // --------------------------------------- HERE IS THE TAGS ^^^^^ ------------------------ ^^^^^^ --------------------------------\n \'classes\' => \'alert-danger\'\n ];\n } else {\n $mail = new NewCotacao($request->codigoempresa, $codigocotacao);\n …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 Ionic3 中创建一个自定义菜单,当用户单击那个汉堡包图标时,它需要向元素添加#menu一个open类,我正在尝试使用ngClass
问题是这个图标在我的菜单组件之外,这个图标在我的页面中 home-user
打开后,我的菜单看起来像下一张图片,所以我不能使用 ionic 的默认菜单
所以我的组件menu有一个名为 的变量opened,这个变量决定了我的菜单元素的类
菜单.ts
@Component({
selector: 'menu',
templateUrl: 'menu.html',
})
export class MenuComponent {
opened: boolean = true;
constructor() {
}
toggleMenu() {
this.opened = !this.opened;
}
}
Run Code Online (Sandbox Code Playgroud)
所以当我触发时toggleMenu()我改变了opened价值
我在我的组件页面中触发此功能并正常工作
菜单.html
<div id="menu" [ngClass]="opened ? 'open' : ''">
<a class="menu-item" href="#">Sair</a>
<ion-icon (click)="toggleMenu()" id="toggleMenu" name="close"></ion-icon>
</div>
Run Code Online (Sandbox Code Playgroud)
那么,我的问题是什么?
toggleMenu()例如,我如何从我的home-user.html页面调用它,该页面也有一个按钮,并且该按钮应该更改opened变量的值
我试过什么
我试图在我的menu.module.ts中创建一个函数来触发该toggleMenu()函数menu.ts …
我正在制作一个可以包含动态内容的侧边栏,使用 vuex
因此,例如,我有一个带有 Sidebar.vue 的应用程序,它可以加载一个 DynamicContent.vue,我如何将一个 prop 传递给里面的那个 DynamicContent.vue
应用程序.js
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
import store from './store'
import Sidebar from './components/Sidebar'
import DynamicContent from './components/DynamicContent.vue'
Vue.component('sidebar', Sidebar)
const app = new Vue({
el: '#app',
store,
data() {
return {
dynamicContent: DynamicContent
}
},
methods: {
toggleSidebar() {
this.$store.commit('toggleSidebar', dynamicContent)
}
}
})
Run Code Online (Sandbox Code Playgroud)
侧边栏.vue
注意:我不能通过组件标签传递我的道具,因为组件可以有不同的道具
<template>
<div>
<component :is="component" />
</div>
</template>
<script>
export default {
computed: {
component() {
return this.$store.state.sidebarComponent
}
}
} …Run Code Online (Sandbox Code Playgroud)