2017-05-08 62 views
1

我有一个简单的“Hello World” VueJS的应用程序,我试图让工作:Vue公司的应用程序不会加载

<!doctype html> 
<html> 
<head> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
    <script type="text/javascript" src="https://unpkg.com/vue"></script>  
</head> 
<body>  
    <div id="app"> 
    Message: {{ message }} 
    </div>  
<script> 
    var vm = new Vue({ 
    el: "#app", 
    data: { 
     message: "Hello, world" 
    } 
    }); 
</script> 
</body> 
</html> 

当我加载在浏览器中该文件,关闭我的本地磁盘(即:file:///home/user/vue-project/index.html),它会加载并显示“Hello,world”。但是,如果我尝试使用相同的文件并通过python容器开发服务器或通过gunicorn提供服务,则{{message}}呈现为空白。

有谁知道什么可能导致这种情况发生?

+0

你也许忘了gunicorn使用线程?变量并不总是通过gunicorn共享的! – Luke

+0

烧瓶使用'{{'和'}}来渲染变量....你需要配置vue来使用'[[message]]' –

回答

1

烧瓶呈现其变量与使用{{ variable }}为解析分隔符

render("mytemplate.html",message="Hello")将其替换所有{{ message }}块Jinja2的“你好”任何JavaScript的处理之前......因为你不定义消息,它只是一个空字符串...您将需要配置VUE使用替代分隔符(我用[[ message ]]

<!doctype html> 
<html> 
<head> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
    <script type="text/javascript" src="https://unpkg.com/vue"></script>  
</head> 
<body>  
    <div id="app"> 
    Message: [[ message ]] 
    </div>  
<script> 
    var vm = new Vue({ 
    el: "#app", 
    delimiters = ['[[', ']]'], 
    data: { 
     message: "Hello, world" 
    } 
    }); 
</script> 
</body> 
</html> 
+0

Ack'等替代分隔符,当然。谢谢。 – blindsnowmobile

+0

谢谢!只需提及,分隔符应该设置为:分隔符:['[[',']]'] – Greg