在NodeJS Express应用程序中,我根据Express文档https://expressjs.com/en/api.html#res.locals
将res.locals.isAuthenticated设置为一个值function isAuthenticated(req, res, next) {
if (validationId(req.user.id)){
res.locals.isAuthenticated=true;
return next();
} else{
res.locals.isAuthenticated=false;
res.redirect('/');
}
}
工作正常,我可以在调试器的req对象中看到locals.isAuthenticated值。我无法弄清楚如何在Vue模板中访问isAuthenticated。
Vue模板在main.js文件资源组件中引用,该组件与路由关联。
var resources = {
template: '#resources',
data() {
return {
path: [],
files: [],
isLoading: false,
folderId: -1
}
},
created() {
document.title = 'Resources';
}
}
通常,您将任何数据值放在{{data value}}中,例如,在Vue模板中使用它,如下所示:
<script type="text/x-template" id="resources">
<div>
<div class="row">
<div class="col s12">
TEST--{{isAuthenticated}}--
</div>
</div>
</div>
</div>
</script>
但是在页面渲染过程中会导致错误
vue.min.js:6 ReferenceError:未定义isAuthenticated at o.eval(eval at xa(vue.min.js:6),:3:120) 在o.fn._render(vue.min.js:6) 在o。 (vue.min.js:6)
我想要实现的是在服务器上设置isAuthenticated,然后使用Vue“v-if”在客户端视图中进行条件渲染。