AppML မက်ဆေ့ချ်များ


AppML မက်ဆေ့ဂျ်များနှင့် လုပ်ဆောင်ချက်များ

AppML သည် လုပ်ဆောင်ချက်တစ်ခုလုပ်ဆောင်တော့မည်ဆိုပါက၊ ၎င်းသည် အပလီကေးရှင်းအရာဝတ္တု ($appml) ကို ထိန်းချုပ်ကိရိယာထံသို့ ပို့ပေးသည်။

အပလီကေးရှင်းအရာဝတ္တု၏ ဂုဏ်သတ္တိများထဲမှ တစ်ခုသည် အပလီကေးရှင်းအခြေအနေအား ဖော်ပြသည့် မက်ဆေ့ခ်ျ ($appml.message) ဖြစ်သည်။

ဤမက်ဆေ့ချ်ကို စမ်းသပ်ခြင်းဖြင့် လုပ်ဆောင်ချက်ပေါ်မူတည်၍ သင့်ကိုယ်ပိုင် JavaScript ကုဒ်ကို ထည့်သွင်းနိုင်စေမည်ဖြစ်သည်။

ဥပမာ

function myController($appml) {
    if ($appml.message == "ready") {alert ("Hello Application");}
}

AppML မက်ဆေ့ချ်များ

ဤသည်မှာ လက်ခံနိုင်သော AppML မက်ဆေ့ချ်များစာရင်းဖြစ်သည်-

Message Description
"ready" Sent after AppML is initiated, and ready to load data.
"loaded" Sent after AppML is fully loaded, ready to display data.
"display" Sent before AppML displays a data item.
"done" Sent after AppML is done (finished displaying).
"submit" Sent before AppML submits data.
"error" Sent after AppML has encountered an error.

"အဆင်သင့်" Message

AppML အပလီကေးရှင်းတစ်ခုသည် ဒေတာဖွင့်ရန် အဆင်သင့်ဖြစ်သောအခါ၊ ၎င်းသည် "အဆင်သင့်" မက်ဆေ့ချ်တစ်ခု ပေးပို့ပါလိမ့်မည်။

ဤသည်မှာ အပလီကေးရှင်းကို ကနဦးဒေတာ (အစပြုတန်ဖိုးများ) ပေးဆောင်ရန် အကောင်းဆုံးနေရာဖြစ်သည်

ဥပမာ

<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 = "W3Schools"
    }
}
</script>

အထက်ဖော်ပြပါ ဥပမာတွင်၊ $appml.message "အဆင်သင့်ဖြစ်သောအခါ" ထိန်းချုပ်သူသည် အပလီကေးရှင်းသို့ ဂုဏ်သတ္တိအသစ် ( ယနေ့ နှင့် မူပိုင်ခွင့် ) နှစ်ခုကို ပေါင်းထည့်သည်။

အပလီကေးရှင်းလည်ပတ်သောအခါ၊ အက်ပ်လီကေးရှင်းတွင် ဂုဏ်သတ္တိအသစ်များ ရနိုင်သည်။


"Loaded" Message

AppML အပလီကေးရှင်းတစ်ခုအား ဒေတာဖြင့် တင်ဆောင်သောအခါ (ပြသရန်အဆင်သင့်ဖြစ်ပြီ)၊ ၎င်းသည် " loaded " မက်ဆေ့ဂျ်တစ်စောင် ပေးပို့လိမ့်မည်။

ဤသည်မှာ တင်ထားသောဒေတာအတွက် အပြောင်းအလဲများ (လိုအပ်ပါက) ပံ့ပိုးရန် ပြီးပြည့်စုံသောနေရာဖြစ်သည်။

ဥပမာ

function myController($appml) {
    if ($appml.message == "loaded") {
        // compute your values here before display
    }
}

အဆိုပါ "ပြသ" Message

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 လုံးဖြင့် ဖြတ်တောက်ပြီး "နိုင်ငံ" ကို စာလုံးအကြီးအဖြစ် ပြောင်းလဲပါသည်။


"ပြီးပြီ" ဆိုတဲ့ Message ပါ။

AppML အပလီကေးရှင်းတစ်ခုသည် ဒေတာကိုပြသခြင်းပြီးဆုံးသောအခါ၊ ၎င်းသည် " ပြီးပြီ " မက်ဆေ့ချ်တစ်ခု ပေးပို့လိမ့်မည်။

ဤသည်မှာ အပလီကေးရှင်းဒေတာ (ပြသပြီးနောက်) ကို ရှင်းလင်းရန် သို့မဟုတ် တွက်ချက်ရန် အကောင်းဆုံးနေရာဖြစ်သည်။

ဥပမာ

<script>
function myController($appml) {
    if ($appml.message == "done") {
        calculate data here
    }
}
</script>

"တင်ပြပါ" Message

AppML အပလီကေးရှင်းတစ်ခုသည် ဒေတာတင်သွင်းရန် အဆင်သင့်ဖြစ်သောအခါ၊ ၎င်းသည် " တင်သွင်းမည် " မက်ဆေ့ခ်ျကို ပေးပို့ပါလိမ့်မည်။

ဤသည်မှာ အပလီကေးရှင်းထည့်သွင်းမှုကို အတည်ပြုရန် အကောင်းဆုံးနေရာဖြစ်သည်။

ဥပမာ

<script>
function myController($appml) {
    if ($appml.message == "submit") {
        validate data here
    }
}
</script>

"အမှား" မက်ဆေ့ချ်

အမှားအယွင်းတစ်ခုဖြစ်ပေါ်ပါက AppML သည် " error " မက်ဆေ့ဂျ်တစ်စောင်ပေးပို့လိမ့်မည်။

ဤသည်မှာ အမှားများကို ကိုင်တွယ်ရန် အကောင်းဆုံးနေရာဖြစ်သည်။

ဥပမာ

<script>
function myController($appml) {
    if ($appml.message == "error") {
        alert ($appml.error.number + " " + $appml.error.description)
    }
}
</script>

AppML ဂုဏ်သတ္တိများ

ဤသည်မှာ အသုံးများသော AppML ဂုဏ်သတ္တိအချို့၏ စာရင်းဖြစ်သည်။

Property Description
$appml.message The current state of the application.
$appml.display.name The name of the data field about to be displayed.
$appml.display.value The value of the data field about to be displayed.
$appml.error.number The error number.
$appml.error.description The error description.