Bir bileşenin içerdiği eylemleri yürütmek üzere bir sayfaya bırakılabilmesi için eylem kaydını geliştirmeye yönelik olarak bileşeni ayarlayabilirsiniz.
Eylemleri Kaydetme
Tetikleyiciler çalıştırıldıklarında eylemler bileşenlerde çağrılır. Bir bileşen herhangi bir sayıda eylemi kayıt edebilir ve ayrıca eylemin desteklediği veri yükünü de tanımlayabilir. Bir kullanıcı bir eylemi seçtiğinde eyleme iletilecek veri yükünü doldurabilir.
Kaydetme tetikleyicileri ile olduğu gibi, bileşeninizin desteklediği eylemleri temanızın appinfo.json
kayıt verilerinde kaydedebilirsiniz.
Bir eylemin nasıl kayıt edileceğine ilişkin örnek:
appinfo.json
dosyasını düzenleyin ve "actions":[],
girişini güncelleyin.
"actions": [{ "actionName": "helloWorldChangeWhoIAm", "actionDescription": "Change Who I Am", "actionPayload": [{ "name": "whoAreYou", "description": "Who are you?", "type": { "ojComponent": { "component": "ojInputText"} }, }, "value": "" }] }]
Kaydedildiğinde eylem, bileşeninize yönelik Ayarlar panelindeki Bağlantı sekmesindeki bir tetikleyiciye tıkladığınızda çağrılan eylem iletişim kutusunda görünür.
Eylemleri Yürütme
Bir eylem kaydedildiğinde, bileşenleri bileşendeki eylemleri yürüten sayfaya bırakabilirsiniz. Bir bileşenin bir eylemi yürütmesi için EXECUTE_ACTION
mesajını dinlemelidir. Bu mesaj ayrıca beklenen değerleri çıkartmanız gereken eyleme iletilen veri yükünü de içerir.
EXECUTE_ACTION
mesajını dinlemek için, render.js
dosyasını düzenleyin ve ViewModel
nesnesini bu girişler ile güncelleyin:
self.executeActionListener = function (args) { // get action and payload var payload = $.isArray(args.payload) ? args.payload[0] : {}, action = args.action, actionName = action && action.actionName; // handle 'helloWorldChangeWhoIAm' actions if ((actionName === 'helloWorldChangeWhoIAm') && (payload.name === 'whoAreYou')) { self.whoAreYou(payload.value); } };
Bu, eylemi yürütmek üzere bir JavaScript fonksiyonu oluşturur, ardından her EXECUTE_ACTION
mesajı oluşturulduğunda fonksiyonu çağırmak üzere Siteler Yazılım Geliştirme Kitini kullanır.
Eylem EXECUTE_ACTION
mesajı her oluşturulduğunda çağrılır ve sadece idare etmek üzere tasarlandığı eylemleri idare etmesi bileşene bağlıdır. Bunu yapmak için, idare edebileceğinize emin olmak üzere eylemin adını kontrol etmelisiniz.
Eylemin veri yükü, değer dizisidir. Örnekte, değerin dizideki ilk giriş olduğu varsayılıyor. Genel olarak, önem verdiğiniz veri yükü değerlerini dizide bulmalısınız.
Not:
Eylem izleyicisi bir geri arama olduğundan, fonksiyon yürütüldüğündeViewModel
erişiminizin olmasını sağlamak üzere fonksiyonu uygun olarak bağlamalı veya JavaScript Kapanışı kullanmalısınız.