2017-02-24 11 views
1

그래서 저는 조금은 악몽에 처했습니다. 지금까지 사랑하는 makoJs와 Marko-widgets를 사용하기 시작했습니다. 하지만 ...LassoJS 및 Marko-WIdgets

이것은 일부 샘플의 구성을 따르고 lassoJS와 통합되는 것입니다. 그래서 물건을 올리는 올가미 방법에서는 정의 된 컴포넌트 메소드를 구현하지 않습니다.

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; 
    } 
}); 

내 마르코 파일은 다음과 같이 기록하고 있습니다 :

그래서 나는 달성하기 위해 필요한

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> 

편집 : 그래서 나는 생각했다, 나는 '그 모듈의 버전을 알고 사용하면 도움이 될 수 있습니다.

"lasso": "^2.11.3", 
    "lasso-less": "^2.4.3", 
    "lasso-marko": "^2.2.2", 
    "lodash": "^4.17.4", 
    "markdown-js": "0.0.3", 
    "marked": "^0.3.6", 
    "marko": "^4.0.0-rc.18", 
    "marko-widgets": "^6.6.0" 

어떻게 라이프 사이클 이벤트에 대한 리스너를 구현합니까?

답변

0

질문이 무엇인지 잘 모르겠지만 marko v4, marko-widgets은 더 이상 설치하지 않아야합니다 (marko 만 설치해야 함). 당신은 다음을 수행 할 수 있습니다 :

npm uninstall marko-widgets --save 

우리는 V4 문서를 마무리하는 과정에 여전히,하지만 어쩌면 구성 요소 라이프 사이클 방법에 대한 다음과 같은 V4 문서가 도움이 될 것이다 : https://github.com/marko-js/marko/blob/9b6a288d83fef926590f24368a40476c5ff0e240/docs/06-components.md#lifecycle

물건이 여전히있는 경우 불분명 함, Gitter 채팅방에 가입하십시오 : https://gitter.im/marko-js/marko

+0

Thanks Patrick, Gitter, 지금 당장! 그래서 생성자 메서드에 대해 묻고 .. 그냥 v4 설명서에서 찾으십시오. 감사! –