Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript LassoJS和Marko小部件_Javascript_Marko_Lasso.js - Fatal编程技术网

Javascript LassoJS和Marko小部件

Javascript LassoJS和Marko小部件,javascript,marko,lasso.js,Javascript,Marko,Lasso.js,伙计们,我现在有点梦魇了。现在开始使用makoJs和Marko小部件。但是 这就是我遵循一些示例的组织并与lassoJS集成的东西。因此,以套索的方式,我无法实现define组件方法 因此,我需要完成的是: module.exports = require('marko-widgets').defineComponent({ template: require('./template.marko'), getInitialState: function(input) {

伙计们,我现在有点梦魇了。现在开始使用makoJs和Marko小部件。但是

这就是我遵循一些示例的组织并与lassoJS集成的东西。因此,以套索的方式,我无法实现define组件方法

因此,我需要完成的是:

module.exports = require('marko-widgets').defineComponent({
    template: require('./template.marko'),

    getInitialState: function(input) {
        return {
            name: input.name,
            selected: input.selected || false;
        }
    },

    getTemplateData: function(state, input) {
        var style = ;

        return {
            name: state.name,
            color: state.selected ? 'yellow' : 'transparent'
        };
    },

    handleClick: function() {
        this.setState('selected', true);
    },

    isSelected: function() {
        return this.state.selected;
    }
});
我的Marko文件正在写入,如下所示:

import './style.css'

static function getClassNameForValue(value) {
    if (value < 0) {
        return 'negative';
    } else if (value > 0) {
        return 'positive';
    }
}

class {
    onInput(input) {
        var value = input.value || 0;

        this.state = {
            value: value
        };
    }

    handleIncrementClick(delta) {

        this.state.value += delta;
        var value = this.state.value;


        var send = {
            value:value
        }
        console.log(value);
        $.post( "/tryPost", send,function( data ) {
            console.log(data);
        }); 
    }

    handleInputKeyUp(event, el) {
        var newValue = el.value;
        if (/^-?[0-9]+$/.test(newValue)) {
            this.state.value = parseInt(newValue, 10);
        }
    }
}

$ var value=state.value;

<div class=['number-spinner', getClassNameForValue(value)]>

    <button type="button" onClick("handleIncrementClick", -1)>
        -
    </button>

    <input type="text" value=state.value size="4"
        onKeyUp("handleInputKeyUp")>

    <button type="button" onClick("handleIncrementClick", 1)>
        +
    </button>

</div>

那么,如何实现生命周期事件的侦听器呢?

我不太确定问题是什么,但对于
marko
v4,
marko小部件
不应再安装(只应安装
marko
)。您将要执行以下操作:

npm uninstall marko-widgets --save
我们仍在完成v4文档,但以下关于组件生命周期方法的v4文档可能会有所帮助:


如果事情还不清楚,请加入Gitter聊天室:

一个小细节,但它与事件有关,因此可能:

<button type="button" onClick("handleIncrementClick", -1)>


我想这次活动的名称是点击

谢谢Patrick,现在就去Gitter!所以,我问的是构造函数方法。。只需在v4文档中找到。谢谢
<button type="button" onClick("handleIncrementClick", -1)>