RIOT.JS-Mixin
Mixin을 통해 태그간에 공통 기능을 공유 할 수 있습니다. Mixin은 함수, 클래스 또는 객체가 될 수 있습니다. 각 태그가 사용해야하는 인증 서비스의 경우를 고려하십시오.
Define Mixin − mount ()를 호출하기 전에 riot.mixin () 메서드를 사용하여 mixin을 정의하십시오.
riot.mixin('authService', {
init: function() {
console.log('AuthService Created!')
},
login: function(user, password) {
if(user == "admin" && password == "admin"){
return 'User is authentic!'
}else{
return 'Authentication failed!'
}
}
});
Initialize mixin − 각 태그에서 믹스 인을 초기화합니다.
this.mixin('authService')
Use mixin − 초기화 후 태그 내에서 mixin을 사용할 수 있습니다.
this.message = this.login("admin","admin");
예
다음은 완전한 예입니다.
custom8Tag.tag
<custom8Tag>
<h1>{ message }</h1>
<script>
this.mixin('authService')
this.message = this.login("admin","admin")
</script>
</custom8Tag>
custom9Tag.tag
<custom9Tag>
<h1>{ message }</h1>
<script>
this.mixin('authService')
this.message = this.login("admin1","admin")
</script>
</custom9Tag>
custom8.htm
<html>
<head>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/riot/3.13.2/riot+compiler.min.js"></script>
</head>
<body>
<custom8Tag></custom8Tag>
<custom9Tag></custom9Tag>
<script src = "custom8Tag.tag" type = "riot/tag"></script>
<script src = "custom9Tag.tag" type = "riot/tag"></script>
<script>
riot.mixin('authService', {
init: function() {
console.log('AuthService Created!')
},
login: function(user, password) {
if(user == "admin" && password == "admin"){
return 'User is authentic!'
}else{
return 'Authentication failed!'
}
}
});
riot.mount("*");
</script>
</body>
</html>
이것은 다음 결과를 생성합니다-