2017-12-19 7 views
5

은 내가 뷰 구성 요소를 실체화하려고 내가 오류가 점점 오전 :Vue.js : "형식 오류 : # <Object>의 설정할 수 없습니다 속성 소품 만 게터있다"

[Vue warn]: Error in render: "TypeError: Cannot set property props of 
#<Object> which has only a getter" 
(found in <Root>) 

나는 또한 사용하고를 라이브러리 vuedraggable하지만 문제는 vuedraggable 것보다 더 Vue 문제가 있다고 가정합니다. 아래는 제 코드입니다.

<div id="draggable-list"> 
    <draggable element="ul" 
      :list="elements"> 
    <!-- TODO --> 
    </draggable> 
</div> 

내 main.js 전화 : 여기

는 드래그 - list.vue

<template src="./draggable-list-component.html"></template> 
<script src="./draggable-list.js"></script> 

드래그 - list.js

const draggable = require("vuedraggable"); 

module.exports = { 
    name: "draggable-list", 
    components: { 
    draggable 
    }, 

    // properties which has been passed from the parent vue to the component 
    props: ["title", "elements"], 

    data() { 
    return { 
     isDragging: false, 
    }; 
    }, 

    methods: { 
    test() { 
     console.log("blou"); 
    } 
    } 
}; 

드래그 목록 - component.html에게 있습니다 다른 js 파일 :

관리자에서

나는 나의 뷰 인스턴스 실체화 :

const Vue = require("vue/dist/vue.common"); 
const draggableList = require("./draggable-list.vue"); 

let triggerLibrary; 

triggerLibrary = new Vue({ 
    el: "#draggable-list", 
    template: "<draggableList :title='title' :elements='triggerElements' 
/>", 
    components: {draggableList}, 

    data: { 
    title: "Trigger library", 
    triggerElements: [{name:"Trigger name", description:"Quick trigger 
description"}] 
    } 
}); 

을 그리고 나는이처럼 내 index.html을 그것을 사용하고 있습니다 :

사람이 여기 뭐가 잘못 볼 수 있습니까

<!DOCTYPE html> 
<html> 
    <head> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width,initial-scale=1.0"> 
    <title>planner</title> 
    </head> 
    <body> 
    <div id="draggable-list"> 
    <draggable-list></draggable-list> 
    </div> 
    </body> 
?

답변

2

당신이 CommonJS 모듈을 사용하는 것처럼, 당신의 뷰 구성 요소를 필요로하려고 그런 식 :

const draggableList = require("./draggable-list.vue").default;