전역변수

전역변수

전역변수 는 템플릿 전역에서 사용가능한 변수입니다. 다른 웹 프레임워크에서 제공하는 상태 라이브러리와 비슷하나, 상태라기보단 그냥 변수에 가깝습니다. 이는 tidory.config.js 에서 API 형태로 등록할 수 있습니다.

GlobalVariable

GlobalVariable 객체는 전역변수를 관리하기 위한 단일 객체 입니다.

Usage

tidory.config.js

const tidory = require('tidory');
const globalVariable = tidory.GlobalVariable;

register(callback: Function(done: Function))

전역변수 를 등록합니다. 등록된 전역변수는 템플릿 어디에서든지 부를 수 있으며, 템플릿의 예제에서 보여진 것 처럼 부를 수 있습니다. 배열과 같은 객체도 등록할 수 있으며, 추가적으로 변수를 대상으로 하는 자바스크립트 표현식도 쓸 수 있습니다!

Parameter

  • callback: Function - 전역변수 등록 콜백

Callback

  • done(name: string, value: any) - 전역변수 등록

Usage

tidory.config.js

globalVariable.register(function(done) {
  done('message', 'tidory');
});
globalVariable.register(function(done) {
  done('todo', ['TIDORY', 'TISTORY']);
});
전역변수로 등록한 변수는 퍼그 템플릿에서 전역객체인 TIDORY 객체에 등록되고 다음과 같이 사용할 수 있습니다.

Template

*.pug

//- style
style.
  div::before {
    // content: 'tidory'
    content: '#{TIDORY.message}'
  }
//- template
// <div>TIDORY</div>
div #{TIDORY.message.toUpperCase()} 
//- script
script.
  // console.log("TIDORY")
  console.log("#{TIDORY.todo[0]}")

getVariable(name: string)

전역변수의 값을 얻어 옵니다.

Parameter

  • name: string - 전역변수의 이름

Usage

tidory.config.js
        
let _value = globalVariable.getVariable('message');

switch(callback: Function(done: Function))

전역변수의 값을 변경 합니다.

Parameter

  • callback: Function - 전역변수 변경 콜백

Callback

  • done(name: string, value: any) - 전역변수 변경

Usage

tidory.config.js
        
globalVariable.switch(function(done) {
  done('message', 'Tistory Skin');
});