mirror of
https://github.com/marko-js/marko.git
synced 2025-12-08 19:26:05 +00:00
Fixes #400 - Introduce state as a local variable
This commit is contained in:
parent
520706a945
commit
6eb006d89c
7
test/autotests/widgets-browser/state-var/component.js
Normal file
7
test/autotests/widgets-browser/state-var/component.js
Normal file
@ -0,0 +1,7 @@
|
||||
module.exports = {
|
||||
onInput: function() {
|
||||
this.state = {
|
||||
name: 'Frank'
|
||||
};
|
||||
}
|
||||
};
|
||||
3
test/autotests/widgets-browser/state-var/index.marko
Normal file
3
test/autotests/widgets-browser/state-var/index.marko
Normal file
@ -0,0 +1,3 @@
|
||||
<div w-bind>
|
||||
Hello ${state.name}!
|
||||
</div>
|
||||
6
test/autotests/widgets-browser/state-var/test.js
Normal file
6
test/autotests/widgets-browser/state-var/test.js
Normal file
@ -0,0 +1,6 @@
|
||||
var expect = require('chai').expect;
|
||||
|
||||
module.exports = function(helpers) {
|
||||
var widget = helpers.mount(require('./index'), {});
|
||||
expect(widget.el.innerHTML).to.contain('Frank');
|
||||
};
|
||||
@ -130,7 +130,7 @@
|
||||
"@id": "string",
|
||||
"@hasDomEvents": "number",
|
||||
"@body": "string",
|
||||
"var": "widget",
|
||||
"vars": ["widget", "state"],
|
||||
"import-var": {
|
||||
"_cfg": "data.widgetConfig",
|
||||
"_state": "data.widgetState",
|
||||
|
||||
@ -210,7 +210,7 @@ module.exports = function widgetTag(input, out) {
|
||||
|
||||
// Only render the widget if it needs to be rerendered
|
||||
if (shouldRenderBody) {
|
||||
input.renderBody(out, widgetDef);
|
||||
input.renderBody(out, widgetDef, state);
|
||||
markoWidgets.writeDomEventsEl(widgetDef, out);
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user