مرجع سريع

ورقة غش مكتبة Ractive.js

دليل مرجعي سريع لمكتبة Ractive.js: ربط البيانات ثنائي الاتجاه، قوالب mustache، الخصائص المحسوبة، التحولات وبنية المكونات.

· تاريخ النشر

Ractive.js هي مكتبة واجهة مستخدم مبنية على القوالب توفر ربطاً تفاعلياً للبيانات ثنائي الاتجاه وتحولات سلسة وحسابات متجاوبة لشجرة DOM.

التهيئة والبدء

const ractive = new Ractive({
  target: '#app',
  template: '#my-template',
  data: {
    greeting: 'Hello',
    user: { name: 'Alice' },
    count: 0
  }
});

صيغة القوالب (Mustache)

<!-- إخراج البيانات -->
<h1>{{greeting}}, {{user.name}}!</h1>

<!-- إخراج HTML الخام -->
<div>{{{unescapedHtml}}}</div>

<!-- ربط الإدخال ثنائي الاتجاه -->
<input value="{{user.name}}" />

<!-- الشروط الشرطية -->
{{#if count > 0}}
  <p>عناصر في السلة: {{count}}</p>
{{else}}
  <p>سلة التسوق فارغة.</p>
{{/if}}

<!-- تكرار القوائم -->
<ul>
  {{#each items:i}}
    <li>{{i + 1}}: {{this.name}}</li>
  {{/each}}
</ul>

دوال النسخة (Instance Methods)

// قراءة وكتابة البيانات التفاعلية
ractive.get('user.name');        // => "Alice"
ractive.set('user.name', 'Bob'); // Updates DOM immediately

// دوال مساعدة للأرقام
ractive.add('count', 1);
ractive.subtract('count', 1);

// تبديل القيمة المنطقية (Boolean)
ractive.toggle('isVisible');

// مراقبة التغييرات
ractive.observe('user.name', (newValue, oldValue) => {
  console.log(`تغير الاسم إلى ${newValue}`);
});

التعامل مع الأحداث (Event Handling)

<button on-click="@this.fire('submitForm', user)">إرسال</button>
ractive.on('submitForm', (event, user) => {
  console.log('المستخدم المرسل:', user);
});

مراجع مفيدة

موضوعات ذات صلة