Programmatic Routing

Vue JS Fundamentals for Beginners Navigation And Vue Router
8 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$69.99
List Price:  $99.99
You save:  $30
€65.59
List Price:  €93.70
You save:  €28.11
£56.03
List Price:  £80.05
You save:  £24.01
CA$96.39
List Price:  CA$137.71
You save:  CA$41.31
A$107.98
List Price:  A$154.26
You save:  A$46.28
S$95.50
List Price:  S$136.44
You save:  S$40.93
HK$547.57
List Price:  HK$782.28
You save:  HK$234.70
CHF 64.43
List Price:  CHF 92.05
You save:  CHF 27.61
NOK kr776.82
List Price:  NOK kr1,109.79
You save:  NOK kr332.97
DKK kr489.21
List Price:  DKK kr698.91
You save:  DKK kr209.69
NZ$118.81
List Price:  NZ$169.74
You save:  NZ$50.92
د.إ257.06
List Price:  د.إ367.25
You save:  د.إ110.18
৳7,729.18
List Price:  ৳11,042.16
You save:  ৳3,312.97
₹5,842.93
List Price:  ₹8,347.41
You save:  ₹2,504.47
RM333.67
List Price:  RM476.70
You save:  RM143.02
₦92,745.84
List Price:  ₦132,499.74
You save:  ₦39,753.90
₨19,599.98
List Price:  ₨28,001.17
You save:  ₨8,401.19
฿2,600.12
List Price:  ฿3,714.62
You save:  ฿1,114.50
₺2,271.31
List Price:  ₺3,244.87
You save:  ₺973.56
B$363.64
List Price:  B$519.51
You save:  B$155.87
R1,308.28
List Price:  R1,869.05
You save:  R560.77
Лв128.30
List Price:  Лв183.29
You save:  Лв54.99
₩96,996.60
List Price:  ₩138,572.52
You save:  ₩41,575.91
₪261.41
List Price:  ₪373.46
You save:  ₪112.04
₱4,045.59
List Price:  ₱5,779.67
You save:  ₱1,734.07
¥11,052.75
List Price:  ¥15,790.32
You save:  ¥4,737.57
MX$1,197.81
List Price:  MX$1,711.23
You save:  MX$513.42
QR257.31
List Price:  QR367.61
You save:  QR110.29
P1,000.11
List Price:  P1,428.79
You save:  P428.68
KSh9,335.98
List Price:  KSh13,337.69
You save:  KSh4,001.70
E£3,349.95
List Price:  E£4,785.86
You save:  E£1,435.90
ብር4,013.63
List Price:  ብር5,734.01
You save:  ብር1,720.37
Kz58,409.45
List Price:  Kz83,445.65
You save:  Kz25,036.20
CLP$67,298.07
List Price:  CLP$96,144.23
You save:  CLP$28,846.15
CN¥506.79
List Price:  CN¥724.02
You save:  CN¥217.23
RD$4,121.81
List Price:  RD$5,888.55
You save:  RD$1,766.74
DA9,423.87
List Price:  DA13,463.25
You save:  DA4,039.38
FJ$159.96
List Price:  FJ$228.52
You save:  FJ$68.56
Q547.38
List Price:  Q782
You save:  Q234.62
GY$14,742.16
List Price:  GY$21,061.13
You save:  GY$6,318.97
ISK kr9,832.89
List Price:  ISK kr14,047.59
You save:  ISK kr4,214.70
DH712.24
List Price:  DH1,017.53
You save:  DH305.29
L1,243.01
List Price:  L1,775.81
You save:  L532.79
ден4,046.68
List Price:  ден5,781.23
You save:  ден1,734.54
MOP$564.08
List Price:  MOP$805.87
You save:  MOP$241.78
N$1,315.96
List Price:  N$1,880.02
You save:  N$564.06
C$2,592.36
List Price:  C$3,703.54
You save:  C$1,111.17
रु9,349.94
List Price:  रु13,357.63
You save:  रु4,007.69
S/263.70
List Price:  S/376.73
You save:  S/113.03
K271.96
List Price:  K388.53
You save:  K116.57
SAR262.49
List Price:  SAR375.01
You save:  SAR112.51
ZK1,886.12
List Price:  ZK2,694.57
You save:  ZK808.45
L326.39
List Price:  L466.29
You save:  L139.90
Kč1,650.20
List Price:  Kč2,357.53
You save:  Kč707.33
Ft25,629.21
List Price:  Ft36,614.73
You save:  Ft10,985.52
SEK kr770.71
List Price:  SEK kr1,101.06
You save:  SEK kr330.35
ARS$61,698.11
List Price:  ARS$88,143.94
You save:  ARS$26,445.82
Bs486.86
List Price:  Bs695.54
You save:  Bs208.68
COP$271,471.23
List Price:  COP$387,832.67
You save:  COP$116,361.43
₡35,819.54
List Price:  ₡51,172.97
You save:  ₡15,353.42
L1,740.31
List Price:  L2,486.27
You save:  L745.95
₲526,285.13
List Price:  ₲751,868.13
You save:  ₲225,582.99
$U2,699.91
List Price:  $U3,857.19
You save:  $U1,157.27
zł284.80
List Price:  zł406.88
You save:  zł122.07
Already have an account? Log In

Transcript

So this is a continuation of view router. So let's look into what more view router can do and how else we can use view router. So this is one way we can navigate to different components in our application, right? So what can we do? So the first thing, what we can do is, we can also have two other components in another way. So for example, we have two right, so we can also have this dynamic.

So that that is by using v bind. And we can say do so but now it is instance, if we want to go to the component, we need to use this syntax, we need to create an object. And inside this object, we need to say name. And inside the name, we need to specify the name. So this name is given in the routes file by declaring the components part. So that's why this name was important earlier why we kind of like wanted to include it.

So this index will also be used in the script tag in understand when we look into it. And if I save this and say login, it works the same so it can go back. homepage login It works the same, right. So this is just another way of using it. Now let's look at a scenario where we want to pass a prop to this component. So for example, in the login, we want to pass a prop that says, so we're going to create props property.

And instead of props property, create an object and the kind of property which we want to receive his message. And one more thing I want to mention in the previous lectures, when we talked about props, we discussed that this rotation generally right for a prop saying required. And the type is generally good practice, right. So just in case you don't know how to type all this stuff, then probes wouldn't be an object. So for that, you need to declare props as an array. And inside that array, you can mention props enter quotation marks, so you can see message.

So this automatically declares the message property as a prop. Which the login component is expecting. So it's the same thing as creating an object and doing all the stuff. But just if you want to have much more control on the Prop, like like if it's required, or you can mention it like this. Alright, so for us, let's go with the best practice. Inside the message, let's say which type it is.

It's a type of string. And is it required? Not really, but so let's say false. So if I save it, and now our goal is to send a prop or a message to the login component, right? So for that, let's create a data property, let's say message to login. Alright, this is the message which we want to send it to the login component.

So the way we can send it to the login component is using the router link. We can see after the name, you can put a comma And then we can we can have another property called params. So params is generally used for props. So insert params, what we can do is we can give the name of the prop that the component is expecting and its value is message to login. Right now we are sending the prop. So instead of login dot view, what we'll do is under the login form, we'll create a small h4 tag.

Inside this let's have the message. So from AB dot view, just to recap, we have a data property called as Mrs to login and inside this we have a string. And to send the string we need to have a new property called as params. Instead of items is an object, we have the name of the name of the Prop, which the component is expecting, and the value right so if I save it and go back, and if I navigate to login, we can see the password is one, two 345 All right, so that's the message I'm getting from the app component. Now what if we have a situation right now let's just remove these kind of props. It's not send any.

And since the prop is not required, let's say we have another component, right? This component is home. And inside this component, we have a big h1 that says, Welcome Home have a smiley as well, just to throw it in there. So if I save it, now, what I want is that so instead of login component, what I want is that whenever our user presses the submit button, I want them to be navigated to home. So how can we do that? So here in our logging component, we have our submit method.

So for this submit, we have linked in action that is submit form. So upon upon clicking Submit form, what we can do is we can use the router property, so that we can use by saying this dot dollar router dot push slash home. And before we can do that, we need to go back to our router. And we need to register the component missing input home from it slash components slash home and creating another part giving it a name or home component home. And since it might accept props in the future with let's just say Drew. So instead of logging component and if I save it, sorry, if I save it and go back, what we can do is we can go to log in and we can say any Muslim she and my password is something something and if I press submit, welcome home.

So this is one way we can navigate you Using the router inside the script tag, so this is routing programmatically. Alright, so one more way, what we can do is instead of giving it a URL here, we can create an object. And we can navigate using the name of name as well. So this is kind of like what we did with the router link, right? So the name is home. And if I save it and go back, and if I hit submit, we'll come home.

Alright, so now let's look into how to pass data, kind of like in the script. So similar to how we did in the router link, we can also have params. And we can pass the data. So what we'll do is inside of the home page, we'll have a prop using username, and that is required. And the type is string. Right, so welcome home.

Username. So whatever the user name that the user enters inside of the login page, here, here in the user name, we can pass that into the homepage, and we can display that here. So instead of the homepage, we need to also have a data property. Insert records have a username. And we can be more than it. Or we can bind it to the data property by using the model.

Alright, so the parameters that is expecting is username is the same name is the same keyword that we're using. So user name and the value is this dot username. All right, so one, one thing to notice here is that this so that this keyword might not have the right context, since it's inside the router function. So what I usually do is, I have a dummy. I have a root context variable, and I use it for that. So we introduce a name and I save it and I go back, and instead log in component.

I can say, mom, she and I can just keep my password or something else, and submit. Welcome home option. All right, so that's how you pass data. router. And one more thing just to remember is while passing data into the components using router, you need to specify the props property as true, right. That's one thing you should not forget.

So all right, that's it for this lecture. I'll see you in the next one.

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.