- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在将连接角色与灰尘模板相结合
ejs 模板有类似这样的语法
<% if (userCan('impersonate')) { %>
<button id="impersonate">Impersonate</button>
<% } %>
if userCan('impersonate')
button#impersonate Impersonate
{@eq key=userCan('edit data') value="true" }
<td><a href='/assets/edit/{.ID_ASSET}'>Edit</a></td>
<td><a href='/assets/delete/{.ID_ASSET}'>Delete</a></td>
{:else}
{/eq}
Wed, 06 Jan 2016 16:57:47 GMT uncaughtException Expected end tag for assets but it was not found. At line : 42, column : 13
{@contextDump key="full"/}
"tail": {},
"isObject": true,
"head": {
"enrouten": {
"routes": {},
"path": "function path(name, data) {var route;route = this.routes[name];if (typeof route === 'string') {return path2regexp.compile(route)(data);}return undefined;}"
},
"userIs": "function (action) {var act = ert(req, action);return roles.test(req, act)}",
"userCan": "function (action) {var act = ert(req, action);return roles.test(req, act)}",
"isAuthenticated": "function () { [native code] }",
"_csrf": "FSaqN0PWxOF4slTUfnGHXJ0NkPOTJFl0u57eM=",
"title": "Справочник спецификаций",
"assets": [
{
"ID_ASSET": 1,
"SYMBOL_KODE": "12.TR.18",
"DOK_NAME": "ТХ9042",
"DESCRIPTION": "Контроллер программируемый ТХ9042",
"DATE_RELISE": "2001-10-04T21:00:00.000Z",
"POS_KODE": "pos kode 1 ",
router.get('/', function (req, res) {
var context = {
req: req, // from Express callback
userCan: function(chunk, context, bodies, params) {
var permission = context.resolve(params.permission);
return context.get('req').userCan(permission);
}
}
models.SPR_ASSET.findAll({
include: [ models.SPR_TYPE_UM, models.SPR_TYPE_ASSETS, models.SPR_ASSETS_DS ]
}).then(function(assets) {
res.render('assets', {
title: 'Справочник спецификаций',
assets: assets
context: context
});
});
var context
这里没有用
最佳答案
灰尘不知道什么是功能。它只知道“引用”,这是您上下文中的键。
如果上下文中的键是一个函数,Dust 将调用该函数并在其渲染中使用结果。这样的函数被称为 上下文助手 ,您可以阅读有关它们的信息 in the documentation .或者,您可以直接向 Dust 注册可在任何地方访问的函数——这些被称为 全局 helper .
如 userCan
是 connect-roles 提供的某种全局变量,您可以在这样的全局助手中使用它:
dust.helpers.userCan = function(chunk, context, bodies, params) {
var permission = context.resolve(params.permission);
return userCan(permission);
}
{@userCan permission="edit data"}
<td><a href='/assets/edit/{.ID_ASSET}'>Edit</a></td>
<td><a href='/assets/delete/{.ID_ASSET}'>Delete</a></td>
{:else}
Please log in.
{/userCan}
userCan
是请求范围的,因此您可以通过将请求变量添加到您的上下文来使用它。就像是:
var context = {
req: req, // from Express callback
userCan: function(chunk, context, bodies, params) {
var permission = context.resolve(params.permission);
return context.get('req').userCan(permission);
}
}
{#userCan permission="edit data"}
<td><a href='/assets/edit/{.ID_ASSET}'>Edit</a></td>
<td><a href='/assets/delete/{.ID_ASSET}'>Delete</a></td>
{:else}
Please log in.
{/userCan}
关于dust.js - DustJs 中的函数调用和检查结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34638580/
我正在将连接角色与灰尘模板相结合 ejs 模板有类似这样的语法 Impersonate 那在 Jade if userCan('impersonate') button#imperson
我的问题很简单:无论如何通过 DUSTjs 语法中的索引显示数组值。 示例 JSON : { names: [ "Jhon", "Peter",
要复制我的问题,请转到 here ,并将此代码粘贴到相应部分: 灰尘模板: {title|s} 数据: { "title": "<script>alert('yo');</scr
在 JSONP 调用后我返回: [ { "text": "yo whats up?", "id": 1 }, { "text":
我有一组消息,我想使用 select 来改变一些描述性文本,利用大小助手: {@select key="{@size key=messages/}"} {@eq value="1"}onl
在 Jade JS 中,扩展布局非常容易。假设有layout.jade,对于index.jade,只需执行以下操作: extend layout block content // content co
我有一个具有多个属性的对象,即 propA、propB、propC 和 propD。我想编写一个条件,使用 OR 检查多个参数,如下所示。 {@if cond="'{obj.propA}'.lengt
在我的 dustJS 模板中,我使用变量的组合将其用作新变量。例如,如果我有 pname和 cname , 然后我想创建 name = pname + cname .另外..我可能想根据特定条件创建局
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 8 年前。 Improve
我是 AngularJS 环境的初学者。为了我公司的利益,我想将 Angular 框架的强大功能与 Dustjs 模板引擎结合起来。 问题是:Dustsjs 正在将文件编译为 .js 文件(我有一个
我正在尝试让 dustjs-linkedin 与 Express 3 项目一起使用,但是我似乎无法克服此错误: Error: Template name parameter cannot be und
我有这样的数据集: [{"val": false}, {"val": null}] 和模板: {#.} {@eq key=val type="string" value="false"} FALSE
I created a project using Kraken 1.0.1 with yo kraken, with template engine dustjs, but I can not us
我是一名优秀的程序员,十分优秀!