GVKun编程网logo

不推荐使用 Vue 路由器 addRoutes,但我想向 Vue 路由器添加路由数组(vue路由怎么配)

3

如果您想了解不推荐使用Vue路由器addRoutes,但我想向Vue路由器添加路由数组和vue路由怎么配的知识,那么本篇文章将是您的不二之选。我们将深入剖析不推荐使用Vue路由器addRoutes,但

如果您想了解不推荐使用 Vue 路由器 addRoutes,但我想向 Vue 路由器添加路由数组vue路由怎么配的知识,那么本篇文章将是您的不二之选。我们将深入剖析不推荐使用 Vue 路由器 addRoutes,但我想向 Vue 路由器添加路由数组的各个方面,并为您解答vue路由怎么配的疑在这篇文章中,我们将为您介绍不推荐使用 Vue 路由器 addRoutes,但我想向 Vue 路由器添加路由数组的相关知识,同时也会详细的解释vue路由怎么配的运用方法,并给出实际的案例分析,希望能帮助到您!

本文目录一览:

不推荐使用 Vue 路由器 addRoutes,但我想向 Vue 路由器添加路由数组(vue路由怎么配)

不推荐使用 Vue 路由器 addRoutes,但我想向 Vue 路由器添加路由数组(vue路由怎么配)

如何解决不推荐使用 Vue 路由器 addRoutes,但我想向 Vue 路由器添加路由数组

这是我的 Main.js。我正在通过 API 调用从数据库中获取路由,但 Vue 路由器版本 4 已弃用 addRoutes 功能。所以现在我一次只能添加一条路线。我不想通过迭代路由/菜单列表来添加路由。请分享您的想法。

  1. new Vue({
  2. store,router,render: h => h(App),beforeMount() {
  3. if (this.menuList.length) {
  4. this.$router.addRoutes(this.menuList);
  5. }
  6. },computed: {
  7. ...mapGetters({
  8. menuList: "menuStore/menuList"
  9. })
  10. },}).$mount("#app");

解决方法

要从我的模块添加路由,我使用以下简单代码:

  1. MyRoutes.forEach(function(route){
  2. router.addRoute(route);
  3. })

旧代码:

  1. router.addRoutes(MyRoutes)

所以你的代码应该是这样的:

  1. this.menuList.forEach(function(route){
  2. this.$router.addRoute(route)
  3. });

docker 的使用 --- 创建新的镜像(通过修改容器,个人练手理解过程记录,不推荐使用)

docker 的使用 --- 创建新的镜像(通过修改容器,个人练手理解过程记录,不推荐使用)

docker 基础命令

##列出docker客户端命令
docker
docker container --help

##显示docker的版本和信息
docker --version docker version docker info
##执行docker镜像生成一个容器(容器不是运行状态) docker run [镜像]

##列出docker镜像 docker image
ls
docker images
##列出docker容器(正在运行的,所有的,所有quiet模式的) docker container
ls docker container ls --all docker container ls -aq

#停止一个容器
docker container stop [CONTAINER ID]

 通过修改容器来创建一个新镜像(python2.7.5 + node.js11.10.0 + flask + 项目应用 demo)

步骤一:下载基础镜像 ---- 只包含 centos 的镜像(这个镜像里自带 python2.7.5)

#查看官方https://hub.docker.com已有的centos镜像
docker search centos
#选择合适自己镜像拉取到本地
docker pull centos
[root@izwz92fbqxna6qt4ya9t4nz soft]# docker search centos
NAME                               DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
centos                             The official build of CentOS.                   5205                [OK]                
ansible/centos7-ansible            Ansible on Centos7                              120                                     [OK]
jdeathe/centos-ssh                 CentOS-6 6.10 x86_64 / CentOS-7 7.5.1804 x86…   106                                     [OK]
consol/centos-xfce-vnc             Centos container with "headless" VNC session…   80                                      [OK]
imagine10255/centos6-lnmp-php56    centos6-lnmp-php56                              50                                      [OK]
centos/mysql-57-centos7            MySQL 5.7 SQL database server                   47
[root@izwz92fbqxna6qt4ya9t4nz soft]# docker pull centos
Using default tag: latest
latest: Pulling from library/centos
Digest: sha256:184e5f35598e333bfa7de10d8fb1cebb5ee4df5bc0f970bf2b1e7c7345136426
Status: Image is up to date for centos:latest

步骤二:使用镜像 centos 创建并以后台模式运行该容器(不用 - dit 的话,运行之后容器状态不是 up,注意 - d 和 - dit 不是一个命令)

docker run -dit centos

步骤三:找到容器并切入容器里

#查看运行中的容器
docker ps
#查看所有容器
docker ps -a
#切进容器
docker attach [CONTAINER ID 或 wizardly_kirch]
docker exec -it [CONTAINER ID] /bin/bash
#退出容器(退出之后容器也停止了)
exit
#退出容器(退出之后容器还在运行中)
先ctrl+p 再 ctrl+q
[root@izwz92fbqxna6qt4ya9t4nz soft]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                        PORTS                    NAMES
8bf91340323d        centos              "/bin/bash"              3 minutes ago       Up 3 minutes                                           wizardly_kirch
8c5d1bb19a3e        centos              "/bin/bash"              12 minutes ago      Exited (0) 3 minutes ago                               reverent_curran
[root@izwz92fbqxna6qt4ya9t4nz soft]# docker attach 8bf91340323d
[root@8bf91340323d /]#

有的镜像我直接使用 docker attach 命令可以正常切入容器中,有时候切进去又无反应,但是使用 docker exec -it 可以正常切入

[root@localhost docker]# docker attach bfbcca966a49
ls
read escape sequence
[root@localhost docker]# docker exec -it bfbcca966a49 /bin/bash
jenkins@bfbcca966a49:/$

 

ps:查看 linux 版本发现是 centos7.6,python2.7.5

[root@8bf91340323d /]# cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core)
[root@8bf91340323d /]# python  
Python 2.7.5 (default, Oct 30 2018, 23:45:53) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux2
Type "help", "copyright", "credits" or "license" for more information.

步骤四:在该容器里安装和配置所需的环境

下载 node.js 的二进制包进行解压安装

#从主机拷贝到容器的指定目录
docker cp 要拷贝的文件路径 容器名:要拷贝到容器里面对应的路径
#从容器拷贝到主机 docker
cp 容器名:要拷贝到容器里面对应的路径 要拷贝的文件路径

 安装 pip 和 flask,将项目代码也复制到容器中

步骤五:从修改后的容器导出新的镜像 centos:node_flask(镜像名:标签)

[root@izwz92fbqxna6qt4ya9t4nz soft]# docker commit 541aff7533d9 centos:node_flask
sha256:724f235e44ba18927651903e68f6802a455aa9b07b823acf48eb50865b8cce4a
[root@izwz92fbqxna6qt4ya9t4nz soft]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              node_flask          724f235e44ba        8 seconds ago       529MB
docker              latest              73d492654a09        13 days ago         170MB
hello-world         latest              fce289e99eb9        7 weeks ago         1.84kB
centos              latest              1e1148e4cc2c        2 months ago        202MB
[root@izwz92fbqxna6qt4ya9t4nz soft]# docker rmi docker

 

ionic - 不推荐使用 `slot` 属性 - eslint-plugin-vue 已弃用 slot未使用的 fixed

ionic - 不推荐使用 `slot` 属性 - eslint-plugin-vue 已弃用 slot未使用的 fixed

如何解决ionic - 不推荐使用 `slot` 属性 - eslint-plugin-vue 已弃用 slot未使用的 fixed

我在 VS Code 中遇到以下错误:

if

enter image description here

我在 [vue/no-deprecated-slot-attribute] `slot` attributes are deprecated. eslint-plugin-vue 中安装了这两个插件

.eslintrc.js

这是规则:

  ''extends'': [
    ''plugin:vue/vue3-essential'',''eslint:recommended''
  ],

应该怎么做才能避免这个问题?

编辑@tony19 的回答:

要解决该错误,请将 v-slot:fixed 应用于包装器:

''vue/no-deprecated-slot-attribute'': ''off'',

我使用了上述解决方案。但复习根本不起作用。

解决方法

已弃用 slot

linter rule page for vue/no-deprecated-slot-attribute 显示了以下示例代码,其中突出显示了问题和解决方案:

<template>
  <ListComponent>
    <!-- ✓ GOOD ?-->
    <template v-slot:name>...</template>
  </ListComponent>
  <ListComponent>
    <!-- ✗ BAD  ?-->
    <template slot="name">...</template>
  </ListComponent>
</template>

因此,<ion-refresher slot="fixed"> 应该更改为 <ion-refresher v-slot:fixed>。但是,这会导致不同的错误 (vue/valid-v-slot),因为 Ionic 组件构建为 native Web Components(不是 Vue 组件):

Named slots must use ''<template>'' on a custom element. (vue/valid-v-slot) eslint

要解决该错误,请将 v-slot:fixed 应用于 <template> 包装器:

<template v-slot:fixed>
  <ion-refresher>...</ion-refresher>
<template>

demo

未使用的 fixed

关于您 commented 的 ''fixed'' is defined but never used 错误,您在 SFC 中的 <script> 部分可能有一个名为 fixed 的未使用变量。只需删除该变量即可解决错误。

,

这个槽其实是指webcomponent的槽;
https://github.com/ionic-team/ionic-framework/issues/22236

Ionic 框架使用的插槽与 Vue 2 插槽不同。我们使用的插槽是 Web 组件插槽并且是有效用法:https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_templates_and_slots。

开发人员应该按照我们的文档使用 Web 组件槽来定位元素:https://ionicframework.com/docs/api/range#usage

检查以确保您的 eslint.js 具有以下规则:

  rules: {
    ''vue/no-deprecated-slot-attribute'': ''off'',}

接下来打开 .vscode/settings.json 并添加以下内容:

  "vetur.validation.template": false,
,

您可以尝试将其添加到 .vscode/settings.json

{
    "vetur.validation.template": false
}
,

如果您想继续使用相同的代码,只需使用 // eslint-disable-next-lineeslint-disable-line 在包含插槽标记的下一行禁用 eslint 并继续执行代码

您可以使用 <template v-slot> 来使用未命名的插槽标记和 <template v-slot="name> 使用命名槽标签。

这里是文档 Link 的链接,

,

您正在尝试使用实际上是 deprecated 的旧语法。尝试使用 named slots syntax。

所以,我猜不是

localhost:<port>/register

你应该使用

<ion-refresher slot="fixed">...</ion-refresher>

JavaScript 中 with 不推荐使用,为什么总是出现在面试题中?

JavaScript 中 with 不推荐使用,为什么总是出现在面试题中?

  • with 的基本使用
  • 尴尬的 with 关键字

 一、with 的基本使用

with 是用来扩展语句作用域的,什么意思呢?先来看看语法和示例:

语法:

with(expression){
    statement
}

expression:将给定的表达式添加到评估语句时使用的作用域上。

statement:任何语句。

示例:

 1 var obj = {
 2     name:"他乡踏雪",
 3     age:3,
 4     stature:666
 5 }
 6 with(obj){
 7     console.log(name);//他乡踏雪
 8     console.log(age);//3
 9     console.log(stature);//666
10 }

描述:

with 语句可以形成作用域,并且将传入的对象上的属性解析为该作用域下的变量,且取对象属性的值为变量的初始值。并且在作用域内使用变量如果被修改,expression 的属性值会跟着被修改。

应用小示例:

1 var a, x, y;
2 var r = 10;
3 
4 with (Math) {
5   a = PI * r * r;
6   x = r * cos(PI);
7   y = r * sin(PI / 2);
8 }

 二、尴尬的 with

 关于 with 这个关键字,它的出现本身的出现是为了给代码除了方法以外,可以创建一个独立里作用域,并且可以结构对象属性成为作用域下的变量,减少代码量。而且在一定程度上还能够提升代码的执行效率。但其优势也是其劣势,而且 ES5 的严格模式下是不能使用的。而 ES6 的相关语法的出现继承了它的优势,还弥补了一些它的劣势,是不是非常尴尬。接下来具体看看 with 的优势与劣势:

优势:

with 语句可以在不造成性能损失的情况下,减少变量的长度。其造成的附加计算量很少。使用 with 可以减少读取对象属性的值时,可减少对象命名空间的指针定位。

弊端:

with 语句使得程序在查找变量值时,都是先在指定的对象中查找。所以那些本来不是这个对象中的属性的变量查找起来会很慢。如果对性能要求较高的场合,with 下面的 statement 语句中的变量,只应该包含这个指定对象的属性。

上面是从性能方面考虑,接着从代码读写 (语义) 角度来考虑,with 语句打散了对象与属性的关联性(书写和阅读),不利于代码的阅读。

 接着从兼容性角度来考虑,with 不能在严格模式下使用;而且还无法向前兼容,而 ES6 更是有一些语法可以替代 with 一些功能,比如 let 可以绑定作用域来替代 with 生成的作用域等。

1 function f(foo, values) {
2     with (foo) {
3         console.log(values)
4     }
5 }
6 f([1,2,3], obj)

上面这个示例代码在 ES5 中没什么问题,但是 ES6Array.prototype 添加了一个新属性 values,所以数组实例将继承这个属性。with 语句中的 values 就变成了 [1,2,3].values。

最后为什么 with 作为一个开发中不被推荐使用的关键字为什么会频繁的出现在面试题中?

如果需要解析 with 的内部机制和特性就必然会涉及到作用域、变量查找、this 指向(如果传入对象上有方法,这个方法内部指向肯定指向这个传入的对象)、ES6、原型链、严格模式、甚至性能问题这些都可以被提及和延申出来,不推荐使用就很大程度上不受关注,也可以考察到面试者对语言底层特性的熟悉程度,这对面试官来说显然是一个不错的问题引入点。

 

Laravel-vuejs(Vue 路由器)Javascript 在 onchange url

Laravel-vuejs(Vue 路由器)Javascript 在 onchange url

嗯,我明白你想要什么。您想在所有组件中调用 JavaScript 文件。例如,JavaScript 插件(如 select2、datapicker 等)的 init.js 必须在所有组件中调用,我没听错吗?

无论如何

#1 在路径 external.js 中创建文件 resources/js/

external.js

function add_script(src) {
    if(document.querySelector("script[src='" + src + "']")){ return; }
    let script = document.createElement('script');
    script.setAttribute('src',src);
    script.setAttribute('type','text/javascript');
    document.body.appendChild(script)
}

function rem_script(src) {
    let el = document.querySelector("script[src='" + src + "']");
    if(el){ el.remove(); }
}

在您的 app.js 中添加

import {add_script,rem_script} from './external';

router.beforeEach((to,from,next) => {


  /* It would be nice to add a pre-loader here d
     so that the page design is not affecte
  */
  // Track your console :)
  console.log('Hi before load');
   
  // Add your script
  add_script('path/to/your_js');
  next()
})
router.afterEach(() => {
  // Here you can remove loader after loaded


  // Track your console :)
  console.log('Hi After load');


  // remove_included_js file but still working :)
  rem_script('path/to/your_js');    

})

现在应该在每个组件中调用这个文件 path/to/your_js

完成,就是这样:)

但我从来没有在大型项目中这样建议你 :) 但正如@equi 和@Stefano A. 所说,他们是对的。

,

router-link 允许在启用路由器的 JS 应用程序中进行 Vue.js 导航。这允许通过减少加载新页面所需的时间来优化用户体验。具体来说,新页面是异步注入DOM的。

为了实现您想要的结果,我们可以将我们希望在页面加载时运行的功能放在组件的 mounted() 方法中:

//component Test
<template>
    <div>
      <span> Test Page </span>
    </div>
</template>
<script>
export default 
{
   data() {
      return { }
   },mounted() {
      alert('Page loaded!'); // JS functionality to be run on component mount
   }
}
</script>

如果需要,我们可以在 .js 方法中加载外部 mounted() 文件:

mounted() {
    let newScript = document.createElement('script')
    newScript.setAttribute('src','https://<URL>/script.js')
    document.head.appendChild(newScript)
}
,

我没有看到它坏了。如果您考虑缺少警报消息:您可能将它作为 created() 或mounted() 生命周期钩子的一部分放在 App.vue 组件中。它只显示一次,因为 App.vue 组件保持加载状态,并且您正在使用路由器在 Test.vue 和 Home.vue 之间切换。 App.vue 在刷新之前不会经历其生命周期挂钩。

但是,如果您想在每次路由更改时执行部分代码,则应该在 vue 路由器上使用导航守卫。

我们今天的关于不推荐使用 Vue 路由器 addRoutes,但我想向 Vue 路由器添加路由数组vue路由怎么配的分享就到这里,谢谢您的阅读,如果想了解更多关于docker 的使用 --- 创建新的镜像(通过修改容器,个人练手理解过程记录,不推荐使用)、ionic - 不推荐使用 `slot` 属性 - eslint-plugin-vue 已弃用 slot未使用的 fixed、JavaScript 中 with 不推荐使用,为什么总是出现在面试题中?、Laravel-vuejs(Vue 路由器)Javascript 在 onchange url的相关信息,可以在本站进行搜索。

本文标签: