در قسمت قبل ، مقدمهای بر نحوهی تعریف یک کامپوننت در AngularJS 2.0 عنوان شد و همچنین نحوهی بوت استرپ و آغاز اینگونه برنامهها بررسی گردید. در این قسمت میخواهیم امکانات پیشرفتهتری از کامپوننتها را بررسی کنیم.
روشهای مختلف تعریف خاصیت template در یک کامپوننت در قسمت قبل ، روش تعریف inline یک template را مشاهده کردید: template:`
<div><h1>{{pageTitle}}</h1>
<div> ...
در قسمت قبل ، پیشنیازهای کار با AngularJS 2.0 مرور و دریافت شدند. اگر مطالب آنرا پیگیری کرده باشید، هم اکنون باید در پوشهی node_modules واقع در ریشهی پروژه، تمام اسکریپتهای لازم جهت شروع به کار با AngularJS 2.0 موجود باشند.
تعاریف مداخل فایل index.html یک سایت AngularJS 2.0
پروژهای که در اینجا در حال استفاده است یک برنامهی ASP.NET MVC 5.x است؛ اما الزامی هم به استفادهی از آن وجود ندارد. یا یک فایل index.htm ...
AngularJS یک فریم ورک جاوا اسکریپتی، برای ساخت برنامههای تک صفحهای سمت کاربر، توسط HTML ،CSS و جاوا اسکریپت است. این فریم ورک، حاوی اجزایی برای data binding، طراحی ماژولار، کار با سرویسهای سمت سرور وب و امثال آن است. Angular 2 بازنویسی کامل نگارش 1 آن است و اهداف زیر را دنبال میکند:
- سرعت بالاتر بارگذاری و اجرای کدها
- استفاده از آخرین فناوریهای وب مانند ES 6 و وب کامپوننتها با پشتیبانی تا IE 9.
- سطح A ...
تا اینجا « نحوهی نصب و راه اندازی TypeScript را در VSCode » به همراه « تنظیمات کامپایلر TypeScript » و « دریافت فایلهای d.ts. را توسط بستههای NodeJS » بررسی کردیم. در ادامه قصد داریم این تنظیمات را به نگارش کامل VS.NET نیز اعمال کنیم.
به روز رسانی وابستگیهای VS.NET
برای دریافت آخرین نگارش TypeScript نیاز است افزونههای آنرا از سایت رسمی زبان TypeScript دریافت و نصب کرد: http://www.typescriptlang.org/in ...
یکی از راههای محبوب دیگر برای ساخت کلاسها با استفاده از اجزایی با قابلیت استفاده مجدد، ساخت آنها با ترکیب partial classهای ساده، میباشد. mixins در زبانهای برنامه نویسی مانند ++C و Lisp، کلاسهایی هستند که یکسری توابع را از طریق ارث بری در اختیار SubClassها قرار میدهند. شاید با ایده استفاده از mixins، یا traits در زبانی مانند Scala و الگوی mixins که بین جامعه جاوااسکریپت هم تا حدودی محبوب شده است، آشنا هستید. در جاوااسکریپت، ...
Decorators یا تزئین کنندهها و ReflectDecorators ، یکی از پیشنهادهای نگارش بعدی جاوا اسکریپت هستند (ECMAScript 2016) که هم اکنون قابلیت استفادهی از آنها در TypeScript وجود دارد.
جهت افزودن قابلیتهای meta-programming به زبانهای جاوا اسکریپت و TypeScript و همچنین تعریف annotations بر روی کلاسها و اعضای کلاس، میتوان از Decorators استفاده کرد. یک decorator، تعریف ویژهای است که میتواند به تعریف یک کلاس، متد، خاصیت و یا پ ...
همانطور که پیشتر در این مطلب نیز توضیح داده شد symbol یک primitive data type مانند number و string است. حین کار کردن با سمبلها باید این نکات را در نظر بگیرید: منحصربفرد و immutable (غیرقابل تغییر) هستند. همانند رشتهها میتوان از آنها به عنوان کلیدی برای پراپرتیها یک شیء استفاده کرد. بنابراین از سمبلها بیشتر جهت توکنهای منحصر به فرد برای استفاده و به عنوان کلید در پراپرتیهای اشیاء استفاده خواهد شد. در اینجا می ...
بخش عمدهای از مهندسی نرم افزار، مربوط به ساخت کامپوننتهایی است که نه تنها به خوبی و مستحکم توسعه داده شدهاند، بلکه قابلیت استفاده دوباره را نیز دارند. کامپوننتهایی که قادر هستند بر روی دادههای فعلی و همچنین دادههای آینده، کار کنند، قابلیتهای انعطاف پذیری را برای ساخت سیستمهای نرم افزاری بزرگ در اختیار شما قرار خواهند داد. در زبان هایی نظیر جاوا و سی شارپ، یکی از ابزارهای اصلی برای ساخت کامپوننتهایی با قابلیت استفاده مجدد، "جن ...
برای کامپایل کدهای TypeScript به جاوا اسکریپت، علاوه بر پارامترهای کامپایلر، از تنظیمات فایل مخصوصی به نام tsconfig.json نیز استفاده میشود که این موارد را در قسمت جاری بررسی خواهیم کرد.
نحوهی اعمال تنظیمات کامپایلر TypeScript
روشهای متفاوتی جهت اعمال تنظیمات کامپایلر TypeScript وجود دارند:
الف) ذکر پارامترها و سوئیچهای کامپایلر خط فرمان tsc به صورت مستقیم.
ب) بعضی از ادیتورها و IDEها این پارا ...
همانطور که عنوان شد به ماژولهای داخلی، فضاهای نام (namespace) گفته میشود. بنابراین از namespaceها نیز جهت مدیریت و ساماندهی پروژههای بزرگ با تعداد فایلهای زیاد استفاده میشود. در واقع یک namespace حالت سادهتری از یک ماژول است؛ یعنی برای بارگذاری آن در مرورگر نیاز به loader خاصی نیست. بنابراین در پروژههایی با مقیاس کوچکتر استفاده از namespaceها، انتخاب بهتری است. همچنین یکی از مزیتهای مهم namespace جلوگیری از شلوغ شدن global sco ...