百科狗-知识改变命运!
--

(Vue-cli)三、路由传参(params参数&query参数&router和route&vue.config.js)

百变鹏仔1年前 (2023-12-05)阅读数 9#综合百科
文章标签参数方法

路由配置:

页面:

路由地址,采用query传参方式:?参数1=XXX&参数2=XXX

params参数

query参数

插播传送门=>>>Vue Router 的params和query传参的使用和区别(详尽)

$router返回的是当前项目中的路由器对象。

$route返回的是当前路由信息。

vue.config.js 是一个可选的配置文件,如果项目的 (和 package.json 同级的) 根目录中存在这个文件,那么它会被 @vue/cli-service 自动加载。

vue.config.js 是vue的配置文件,必须创建在demo根目录下,该配置文件中,只能使用commonjs模块化语法,使用module.export导出,格式如下。

@符号代表src资源目录,在vue.config.js文件中将路径解析,path.resolve是拼接路径方法。将@c定义为当前绝对路径

@c代表src目录下的components文件,@v代表src目录下的views文件,其他同理,后续在其他文件中引入文件时,只需要使用以下方法即可导入,不会随着文件目录的改变而改变。

params 关键字可以指定在参数数目可变处采用参数的方法参数。

在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params 关键字。

示例

// cs_params.cs

using System;

public class MyClass

{

public static void UseParams(params int[] list)

{

for ( int i = 0 ; i

Console.WriteLine(list[i]);

Console.WriteLine();

}

public static void UseParams2(params object[] list)

{

for ( int i = 0 ; i

Console.WriteLine(list[i]);

Console.WriteLine();

}

public static void Main()

{

UseParams(1, 2, 3);

UseParams2(1, 'a', "test");

int[] myarray = new int[3] {10,11,12};

UseParams(myarray);

}

}

输出

1

2

3

1

a

test

10

11

12

===============================================

方法参数上的 out 方法参数关键字使方法引用传递到方法的同一个变量。当控制传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。

当希望方法返回多个值时,声明 out 方法非常有用。使用 out 参数的方法仍然可以返回一个值。一个方法可以有一个以上的 out 参数。

若要使用 out 参数,必须将参数作为 out 参数显式传递到方法。out 参数的值不会传递到 out 参数。

不必初始化作为 out 参数传递的变量。然而,必须在方法返回之前为 out 参数赋值。

属性不是变量,不能作为 out 参数传递。

如果两个方法的声明仅在 out 的使用方面不同,则会发生重载。不过,无法定义仅在 ref 和 out 方面不同的重载。例如,以下重载声明是有效的:

class MyClass

{

public void MyMethod(int i) {i = 10;}

public void MyMethod(out int i) {i = 10;}

}

而以下重载声明是无效的:

class MyClass

{

public void MyMethod(out int i) {i = 10;}

public void MyMethod(ref int i) {i = 10;}

}

有关传递数组的信息,请参见使用 ref 和 out 传递数组。

示例

// cs_out.cs

using System;

public class MyClass

{

public static int TestOut(out char i)

{

i = 'b';

return -1;

}

public static void Main()

{

char i; // variable need not be initialized

Console.WriteLine(TestOut(out i));

Console.WriteLine(i);

}

}

输出

-1

b

========================================

方法参数上的 ref 方法参数关键字使方法引用传递到方法的同一个变量。当控制传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。

若要使用 ref 参数,必须将参数作为 ref 参数显式传递到方法。ref 参数的值被传递到 ref 参数。

传递到 ref 参数的参数必须最先初始化。将此方法与 out 参数相比,后者的参数在传递到 out 参数之前不必显式初始化。

属性不是变量,不能作为 ref 参数传递。

如果两种方法的声明仅在它们对 ref 的使用方面不同,则将出现重载。但是,无法定义仅在 ref 和 out 方面不同的重载。例如,以下重载声明是有效的:

class MyClass

{

public void MyMethod(int i) {i = 10;}

public void MyMethod(ref int i) {i = 10;}

}

但以下重载声明是无效的:

class MyClass

{

public void MyMethod(out int i) {i = 10;}

public void MyMethod(ref int i) {i = 10;}

}

有关传递数组的信息,请参见使用 ref 和 out 传递数组。

示例

(Vue-cli)三、路由传参(params参数&query参数&router和route&vue.config.js)

// cs_ref.cs

using System;

public class MyClass

{

public static void TestRef(ref char i)

{

// The value of i will be changed in the calling method

i = 'b';

}

public static void TestNoRef(char i)

{

// The value of i will be unchanged in the calling method

i = 'c';

}

// This method passes a variable as a ref parameter; the value of the

// variable is changed after control passes back to this method.

// The same variable is passed as a value parameter; the value of the

// variable is unchanged after control is passed back to this method.

public static void Main()

{

char i = 'a'; // variable must be initialized

TestRef(ref i); // the arg must be passed as ref

Console.WriteLine(i);

TestNoRef(i);

Console.WriteLine(i);

}

}

输出

b

b

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)