mirror of
https://github.com/marko-js/marko.git
synced 2025-12-08 19:26:05 +00:00
adding assign tag
This commit is contained in:
parent
2a34d940e4
commit
dd3a86c564
14
taglibs/core/assign-tag.js
Normal file
14
taglibs/core/assign-tag.js
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
module.exports = function codeGenerator(elNode, generator) {
|
||||||
|
var attributes = elNode.attributes;
|
||||||
|
|
||||||
|
if (!attributes) {
|
||||||
|
generator.addError('Invalid <assign> tag. Argument is missing. Example; <assign x=123 />');
|
||||||
|
return elNode;
|
||||||
|
}
|
||||||
|
|
||||||
|
var builder = generator.builder;
|
||||||
|
|
||||||
|
return attributes.map((attr) => {
|
||||||
|
return builder.assignment(attr.name, attr.value);
|
||||||
|
});
|
||||||
|
};
|
||||||
@ -14,6 +14,9 @@
|
|||||||
"<var>": {
|
"<var>": {
|
||||||
"node-factory": "./var-tag"
|
"node-factory": "./var-tag"
|
||||||
},
|
},
|
||||||
|
"<assign>": {
|
||||||
|
"code-generator": "./assign-tag"
|
||||||
|
},
|
||||||
"<*>": {
|
"<*>": {
|
||||||
"transformer": "./core-transformer"
|
"transformer": "./core-transformer"
|
||||||
}
|
}
|
||||||
|
|||||||
1
test/fixtures/render/autotest/assign-tag/expected.html
vendored
Normal file
1
test/fixtures/render/autotest/assign-tag/expected.html
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
HELLO 1230
|
||||||
3
test/fixtures/render/autotest/assign-tag/template.marko
vendored
Normal file
3
test/fixtures/render/autotest/assign-tag/template.marko
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<assign foo=123 bar='hello'/>
|
||||||
|
|
||||||
|
${bar.toUpperCase()} ${foo*10}
|
||||||
1
test/fixtures/render/autotest/assign-tag/test.js
vendored
Normal file
1
test/fixtures/render/autotest/assign-tag/test.js
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
exports.templateData = {};
|
||||||
Loading…
x
Reference in New Issue
Block a user