Vue.js 코드는 cdn없이 html에서 작동하지 않습니다.

Pythonist

저는 Vue.js를 처음 사용하고 Vue.js의 cdn 링크가없는 헤더 html이 있습니다.

<nav class="navbar navbar-toggleable-md navbar-inverse">
    <div class="collapse navbar-collapse" id="navbarSupportedContent">
        <div class="containerNav">
            <div class="row">
                <div class="col-6">
                    <ul class="navbar-nav">
                        <li class="nav-item active">
                            <a class="navbar-brand" href="#"><img src="images/logo.png" height="30"/></a>
                        </li>
                        <li class="nav-item active">
                            <a class="nav-link" href="index.html">Home <span class="sr-only">(current)</span></a>
                        </li>
                        <li class="nav-item">
                            <a class="nav-link" href="login.html">TestPage</a>
                        </li>                       
                    </ul>
                </div>
                <div class="col-5" id="login-App">
                    <ul class="navbar-nav float-right">
                        <li class="nav-item">
                            <a class="nav-link" href="#">{{data.user}}</a>
                        </li>
                        <li class="nav-item">
                            <a class="nav-link" onclick="cleanLocalStorage()" href="login.html">Log out</a>
                        </li>
                    </ul>
                </div>
            </div>
        </div>
    </div>
</nav>

jquery document.ready 함수로이 헤더 html을로드합니다.

$(document).ready(function () {
    $(".footer").load("./footer.html");
    $(".header").load("./header.html");       
});

따라서 페이지에 Vue.js 변수를 표시 할 수 없습니다. 내 Vue.js 코드는 다음과 같습니다.

var loginApp = new Vue({
    el: '#login-App',
    data: function () {
        return {
            data: {}
        }
    },
    methods: {
        fetchData: function () {
            Vue.set(loginApp.data, 'user', JSON.parse(localStorage.getItem('user')).name);
        }
    }
});

헤더 html에서 cdn 링크를 사용하면 작동하지만 색인 페이지에서만 사용하는 것을 선호합니다. 이 상황에 대한 트릭이 있습니까? cdn 대신 Vue.js CLI를 사용해야합니까?

잔더 루치아노

단일 파일 구성 요소사용 하여 머리글 및 바닥 글을 vue의 구성 요소 로로드 해야합니다 .

참고 : 저는 Babel과 ES6에 몇 가지 훌륭한 기능이 있기 때문에 사용하고 있습니다.

그래서 여기에 기본 자바 스크립트 파일, 그것은 전화 main.js또는 뭔가를

// Import Vue and Vue Components
import Vue from 'vue'
import mysite-header from './components/mysite-header.vue'
import mysite-footer from './components/mysite-footer.vue'

// Setup Vue
let app = new Vue({
    el:'#mysite-app',
    data: {
        pagename: "This can be a variable",
    },
    components: {
        mysite-header,
        mysite-footer,
    },
});

이제이 페이지의 HTML을 작성합니다.

<html>
    <head>
        <!-- Normal HTML Stuff here -->
    </head>

    <body>
        <div id="mysite-app">
            <mysite-header>
            </mysite-header>

            <!-- Static html content, or another vue template-->

            <mysite-footer>
            </mysite-footer>
        </div>
    </body>
</html>

이제 vue가로드되면 사용자 정의 html 태그가 ./components/mysite-header.vue./components/mysite-footer.vue

mysite-header.vue의 예 :

<template>
    <div class="container">
        <div class="row justify-content-md-center">
            <div class="col-md-8">
                <div class="card">
                    <div class="card-block">
                        <h4 class="card-title">{{ titleText }}</h4>
                        <hr class="my-2">
                        <p class="card-text">
                            <slot></slot>
                        </p>
                        <p>Body Text: {{ bodyText }}</p>
                        <input v-model="titleText">
                        <button :title="titleText">Hover over me!</button>
                    </div>
                </div>
            </div>
        </div>
    </div>
</template>

<script>
    export default {
        // There are properties we pass from the parent
        props: ['initTitleText','bodyText'],
        data() {
            // We can set local data equal to a property from the parent
            // To create a "default" value that isn't bound to the parent's value
            return {
                titleText: this.initTitleText
            }
        },
        mounted() {
            // Called when this vue is first loaded
            console.log('Component mounted.')
        }
    }
</script>

<style>
    .card {
        margin: .5rem 0;
    }
</style>

물론 더 많은 것이 있지만, 이것을 알아내는 가장 좋은 방법은 천천히 구축하고 점점 더 많은 데이터를 전달하고 사물이 어떻게 상호 작용하는지, 사물이 어떻게 결합되는지 등을 보는 것입니다. 전반적으로 여러분은 jQuery보다 더 많은 vue를 사용하십시오.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

JS 코드와 연결된 HTML 코드에서 하이퍼 링크가 작동하지 않습니다.

분류에서Dev

노드 라이브러리 인형이 vue.js에서 작동하지 않습니다.

분류에서Dev

jquery 코드는 codepen / jsfiddle에서 작동하지만 html 페이지에서는 작동하지 않습니다.

분류에서Dev

드래그 드롭 코드는 Ext JS 4.0.7에서 작동하지만 이후 버전에서는 작동하지 않습니다.

분류에서Dev

Vue JS : 내 코드에서 제대로 작동하지 않는 함수 제거

분류에서Dev

Vue js : 내 코드에서 작동하지 않는 배열의 필터

분류에서Dev

vue.js 코드가 django 프로젝트에서 작동하지 않습니다.

분류에서Dev

코드는 JS 바이올린에서 작동하지만 내 웹 사이트에서는 작동하지 않습니다.

분류에서Dev

간단한 typeahead.js 코드는 이전 typeahead 릴리스 0.9.3에서만 작동하며 이후 버전에서는 작동하지 않습니다.

분류에서Dev

JS 코딩은 두 페이지 이상에서 작동하지 않습니다.

분류에서Dev

FlexiGrid에서 JS 자동로드 기능이 작동하지 않습니다.

분류에서Dev

배경 이미지는 CSS에서 작동하지만 Webpack 용 JS에서는 작동하지 않습니다.

분류에서Dev

Datepicker는 js 코드 (.Net MVC4)를 추가하지 않고 모달 페이지에서 작동하지 않았습니다.

분류에서Dev

WOW JS는 한 페이지 스크롤에서 작동하지 않습니다.

분류에서Dev

Vue.js는 배열에서 대체 된 요소를 바인딩하지 않습니다. 스플 라이스와 함께 작동합니다 .... 왜?

분류에서Dev

함수 메서드가 vue.js에서 작동하지 않는 이유는 무엇입니까?

분류에서Dev

두 페이지 간 전환이 vue.js 및 GSAP에서 작동하지 않습니다.

분류에서Dev

Resharper 코드 서식이 html 파일에 대해 작동하지 않습니다.

분류에서Dev

제출 버튼이 html 코드에서 작동하지 않습니다.

분류에서Dev

이 소스 코드는 Firefox에서 작동하지 않습니다.

분류에서Dev

Sequelize Association이 내 코드에서 작동하지 않습니다.

분류에서Dev

css hover가이 코드에서 작동하지 않습니다.

분류에서Dev

HTML의 하이퍼 링크는 포함 된 코드에서 작동하지 않습니다.

분류에서Dev

React Native MQTT.js는 Android 9 이상에서 작동하지 않습니다.

분류에서Dev

vue js 템플릿에서 기초 그리드가 작동하지 않습니다.

분류에서Dev

JS가있는 HTML 양식이 PHP에서 제대로 작동하지 않습니다.

분류에서Dev

jquery에서 touchstart가 작동하지 않습니다. 이 코드에서 작동하는 방법?

분류에서Dev

라우터 탐색이 vue.js에서 제대로 작동하지 않습니다.

분류에서Dev

Vue.js를 사용하는 모달 창의 애니메이션이 작동하지 않습니다.

Related 관련 기사

  1. 1

    JS 코드와 연결된 HTML 코드에서 하이퍼 링크가 작동하지 않습니다.

  2. 2

    노드 라이브러리 인형이 vue.js에서 작동하지 않습니다.

  3. 3

    jquery 코드는 codepen / jsfiddle에서 작동하지만 html 페이지에서는 작동하지 않습니다.

  4. 4

    드래그 드롭 코드는 Ext JS 4.0.7에서 작동하지만 이후 버전에서는 작동하지 않습니다.

  5. 5

    Vue JS : 내 코드에서 제대로 작동하지 않는 함수 제거

  6. 6

    Vue js : 내 코드에서 작동하지 않는 배열의 필터

  7. 7

    vue.js 코드가 django 프로젝트에서 작동하지 않습니다.

  8. 8

    코드는 JS 바이올린에서 작동하지만 내 웹 사이트에서는 작동하지 않습니다.

  9. 9

    간단한 typeahead.js 코드는 이전 typeahead 릴리스 0.9.3에서만 작동하며 이후 버전에서는 작동하지 않습니다.

  10. 10

    JS 코딩은 두 페이지 이상에서 작동하지 않습니다.

  11. 11

    FlexiGrid에서 JS 자동로드 기능이 작동하지 않습니다.

  12. 12

    배경 이미지는 CSS에서 작동하지만 Webpack 용 JS에서는 작동하지 않습니다.

  13. 13

    Datepicker는 js 코드 (.Net MVC4)를 추가하지 않고 모달 페이지에서 작동하지 않았습니다.

  14. 14

    WOW JS는 한 페이지 스크롤에서 작동하지 않습니다.

  15. 15

    Vue.js는 배열에서 대체 된 요소를 바인딩하지 않습니다. 스플 라이스와 함께 작동합니다 .... 왜?

  16. 16

    함수 메서드가 vue.js에서 작동하지 않는 이유는 무엇입니까?

  17. 17

    두 페이지 간 전환이 vue.js 및 GSAP에서 작동하지 않습니다.

  18. 18

    Resharper 코드 서식이 html 파일에 대해 작동하지 않습니다.

  19. 19

    제출 버튼이 html 코드에서 작동하지 않습니다.

  20. 20

    이 소스 코드는 Firefox에서 작동하지 않습니다.

  21. 21

    Sequelize Association이 내 코드에서 작동하지 않습니다.

  22. 22

    css hover가이 코드에서 작동하지 않습니다.

  23. 23

    HTML의 하이퍼 링크는 포함 된 코드에서 작동하지 않습니다.

  24. 24

    React Native MQTT.js는 Android 9 이상에서 작동하지 않습니다.

  25. 25

    vue js 템플릿에서 기초 그리드가 작동하지 않습니다.

  26. 26

    JS가있는 HTML 양식이 PHP에서 제대로 작동하지 않습니다.

  27. 27

    jquery에서 touchstart가 작동하지 않습니다. 이 코드에서 작동하는 방법?

  28. 28

    라우터 탐색이 vue.js에서 제대로 작동하지 않습니다.

  29. 29

    Vue.js를 사용하는 모달 창의 애니메이션이 작동하지 않습니다.

뜨겁다태그

보관