AppML 메시지 및 작업
AppML가 작업을 수행하고있을 때,이 애플리케이션 객체 전송 ($appml) 컨트롤러를.
애플리케이션 객체의 속성 중 하나는 메시지이다 ($appml.message) 애플리케이션 상태를 설명.
이 메시지를 테스트, 동작에 따라, 자신의 자바 스크립트 코드를 추가 할 수 있습니다.
예
function myController($appml) {
if ($appml.message == "ready") {alert ("Hello
Application");}
}
»스스로를보십시오 AppML 메시지
이 수신 할 수 AppML 메시지의 목록입니다 :
메시지 | 기술 |
---|---|
"ready" | AppML 후에 송신이 시작하고, 데이터를로드 할 준비가되어있다. |
"loaded" | AppML 후에 송신 완전히 데이터를 표시 할 준비가로드됩니다. |
"display" | AppML는 데이터 항목을 표시하기 전에 보낸. |
"done" | AppML 완료 후 전송 (finished displaying) . |
"submit" | AppML 데이터를 전송하기 전에 전송. |
"error" | AppML 오류가 발생 후 전송. |
"ready" 메시지
AppML 응용 프로그램에서 데이터를로드 할 준비가되면, 그것은 보낼 것 "ready" 메시지를.
이것은 초기 데이터와 응용 프로그램을 제공 할 수있는 완벽한 장소입니다 (start values) :
예
<div appml-controller="myController" appml-data="customers.js">
<h1>Customers</h1>
<p>{{today}}</p>
<table>
<tr>
<th>Customer</th>
<th>City</th>
<th>Country</th>
</tr>
<tr appml-repeat="records">
<td>{{CustomerName}}</td>
<td>{{City}}</td>
<td>{{Country}}</td>
</tr>
</table>
<p>Copyright {{copyright}}</p>
</div>
<script>
function myController($appml) {
if ($appml.message == "ready") {
$appml.today = new Date();
$appml.copyright = "w3ii"
}
}
</script>
»스스로를보십시오 위의 예에서 $의 appml.message 인 경우 "ready" , 컨트롤러는 응용 프로그램에 두 개의 새로운 속성을 추가 ( today and copyright ) .
응용 프로그램이 실행되면, 새로운 속성은 응용 프로그램을 사용할 수 있습니다.
"loaded" 메시지
AppML 응용 프로그램이 데이터를로드 할 때 (ready to display) , 그것은 보낼 것 " loaded " 메시지를.
이 변경 제공 할 수있는 완벽한 장소입니다 (if necessary) 로드 된 데이터를.
예
function myController($appml) {
if ($appml.message == "loaded") {
// compute your values here before display
}
}
"display" 메시지
AppML는 데이터 항목을 표시 할 때마다, 그것은 보내드립니다 " display " 메시지.
이 출력을 수정할 수있는 완벽한 장소입니다 :
예
<div appml_app="myController" appml-data="customers.js">
<h1>Customers</h1>
<table>
<tr>
<th>Customer</th>
<th>City</th>
<th>Country</th>
</tr>
<tr appml-repeat="records">
<td>{{CustomerName}}</td>
<td>{{City}}</td>
<td>{{Country}}</td>
</tr>
</table>
</div>
<script>
function myController($appml) {
if
($appml.message == "display") {
if ($appml.display.name ==
"CustomerName") {
$appml.display.value = $appml.display.value.substr(0,15);
}
if ($appml.display.name == "Country") {
$appml.display.value = $appml.display.value.toUpperCase();
}
}
}
</script>
»스스로를보십시오 위의 예에서, "CustomerName" 15 자로 잘립니다, 그리고 "Country" 대문자로 변환됩니다.
"done" 메시지
AppML 응용 프로그램이 데이터를 표시하는 완료되면, 그것은 보낼 것 " done " 메시지를.
이 정리 또는 (표시 후) 응용 프로그램 데이터를 계산할 수있는 완벽한 장소입니다.
예
<script>
function myController($appml) {
if ($appml.message == "done") {
calculate data here
}
}
</script>
"submit" 메시지
AppML 응용 프로그램 데이터를 제출 할 준비가되면, 그것은 보낼 것 " submit " 메시지를.
이 응용 프로그램 입력을 확인할 수있는 완벽한 장소입니다.
예
<script>
function myController($appml) {
if ($appml.message == "submit") {
validate data here
}
}
</script>
"error" 메시지
오류가 발생하면 AppML은 보내드립니다 " error " 메시지.
이 오류를 처리 할 수있는 완벽한 장소입니다.
예
<script>
function myController($appml) {
if ($appml.message ==
"error") {
alert ($appml.error.number + " " + $appml.error.description)
}
}
</script>
AppML 등록
이것은 일반적으로 사용되는 일부 AppML 속성의 목록입니다 :
재산 | 기술 |
---|---|
$appml.message | 응용 프로그램의 현재 상태입니다. |
$appml.display.name | 에 대한 데이터 필드의 이름이 표시된다. |
$appml.display.value | 대한 데이터 필드의 값이 표시된다. |
$appml.error.number | 오류 번호. |
$appml.error.description | 오류 설명. |