简体   繁体   中英

Communicating variable in vue.js between components

I am building app using laravel and vue. I have navbar, currently it looks like:

<template>
<nav class="navbar">
    <p>{{msg}}</p>
</nav>
</template>

And I use it like here:

 <body class="">
        <div id="app">
            <div class="">
            <navbar></navbar>
            @yield('content')
            </div>
        </div>
    </body>

In yield I am loading another components, so I have navbar and another component together. Now I want to override that {{msg}} variable from navbar in another components. In every component that variable will be diferent.

I do not know how to override it in components and from {{msg}} do some text. Can you help me? (That code above is all what I have)

If you want to use msg in other components, then you need to use prop

Use like:

props: ['msg'],

Then, you need to bind it like:

<component-name :msg="msg"></component-name>

In your component, you can take it like:

<template>{{ msg }}</template>

Hope you understand!

Components can be communicate with props. You can transfer the data to another components and you can use if statement.

https://v2.vuejs.org/v2/guide/components.html#Props

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM