stateSettings:{ /// templatePath: "/template/template.html" },
<div data-variants1="array"> <p class="border-red" data-variant1="template" data-variant1-text="text" >yy</p> </div> <div data-variants2="array"> <div class="border-green" data-variant2="template" > <p data-variant2-text="text" >yyeee </p> -<span class="border-green" data-variant2-spantext="text" >span</span> </div> </div> <div data-variants3="array"> <div class="border-blue" data-variant3="template" > <p data-variant3-text="text" >yyeee </p> -<span class="border-red" data-variant3-spantext="text" data-variant3-listencount="emiter-counts-dodos" >span</span> </div> </div>
fetchComponents: {// "/template/template.html" variants1: { container: "variant1", props: ["text"], methods: { } }, variants2: { container: "variant2", props: ["text","spantext"], methods: { } }, variants3: { container: "variant3", props: ["text", "spantext","listencount"], methods: { listencount: function(){ this.parentContainer.props.spantext.setProp(this.emiter.prop); } } }, },
<div data-todo-render="render-variant">
props: ['paragraf', 'completed', 'clickoncheckbox', "removebtn", "render"], /* "render" */
clickkeydown: function(){ if(event.keyCode !== 13)return; var outerContainer = this.rootLink.createContainerInArr("todos", { paragraf: this.parentContainer.props['input'].getProp(), }); /* */ var variant = "variants1"; /* */ if(this.rootLink.state.todos.data.length % 2 == 0 )variant = "variants2"; if(this.rootLink.state.todos.data.length % 3 == 0 )variant = "variants3"; /* */ /* text, spantext, , "variants1" spantext , conainer html */ var conainer = this.rootLink.createContainerInArr(variant, { text: this.parentContainer.props['input'].getProp().charAt(0), spantext: this.rootLink.state.todos.data.length } ); /* conainer outerContainer render renderByLink - htmlLink outerContainer */ outerContainer.props.render.renderByLink(variant, conainer.htmlLink); /* */ this.rootLink.eventProps["emiter-counts-dodos"].setEventProp( this.rootLink.state.todos.data.length); }
removebtn: function(){ this.parentContainer.remove(); this.rootLink.eventProps["emiter-counts-dodos"].setEventProp( this.rootLink.state.todos.data.length); /* */ var cildLinkToRemove = this.parentContainer.props.render["render-variant-htmlLink"]; /* html , html .renderByLink(variant, conainer.htmlLink) */ var nameArray = this.parentContainer.props.render["render-variant"]; /* */ this.rootLink.removeByLink(nameArray, cildLinkToRemove); /* nameArray html cildLinkToRemove */ },
Source: https://habr.com/ru/post/457028/