определить применение Vue в компоненте blade - PullRequest
0 голосов
/ 21 декабря 2018

У меня есть компонент навигации, повторно используемый на нескольких страницах с некоторыми изменениями.поэтому я использовал:

<script>
    window.app = new Vue({
        el: '#navigation',
        ....
    });
</script>

в моем компоненте навигации.

, когда я включил его в компонент профиля, который имеет:

<script>
    window.app = new Vue({
        el: '#app',
        ....
    });
</script>

, один из них не работает.Я знаю, что у этих двух определений есть анастомоз, но я не знаю, как его разрешить.

Проще говоря, что с этим:

<script>
    window.app = new Vue({
        el: '#app1',
        ....
    });
</script>

<script>
    window.app = new Vue({
        el: '#app2',
        ....
    });
</script>

Ответы [ 2 ]

0 голосов
/ 23 декабря 2018

Вы можете использовать одно объявление приложения Vue в контейнере HTML.Вы не можете использовать один объявленный компонент внутри другого объявленного компонента.

Так что вы можете сделать это.

<!DOCTYPE HTML>
<html lang="en">
    <head>
      .....
    </head>
    <body>
        <!-- MAYBE YOU CAN DO A BLADE TEMPLATE -->
        <div id="navitagion"></div>  
        <div id="app"></div>  
        <!--=============== scripts  ===============-->
        <script type="text/javascript" src="{{asset('path/to/vue.js')}}"></script>
        const app = new Vue({
           el: '#app',
        });
        const navigation = new Vue({
           el: '#navigation',
        });
    </body>
</html>

Вы можете добавить ссылки в любом контейнере для использования вне объявления Vue, например в JavaScript или в другом компоненте Vue

Но попробуйте и дайте мне знать, как это работает :)

0 голосов
/ 21 декабря 2018

вы можете иметь только одну библиотеку vue.js, загруженную в один тег HTML

<!DOCTYPE HTML>
<html lang="en">
<head>
  .....
</head>
<body>
    <div id="app">            
    </div>  
    <!--=============== scripts  ===============-->
    <script type="text/javascript" src="{{asset('path/to/vue.js')}}"></script>
    const app = new Vue({
    el: '#app',
    });
</body>
</html>
...