최신 웹 개발 튜토리얼
 

AppML메시지


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 오류 설명.