همانطور که در مطلب قبل دیدیم، با اضافه کردن style ها و فایلهای Javascript ای حجم صفحات خروجی رو به افزایش بودند. اولین راه بهینه سازی، استفاده از feature module است. میخواهیم هر زمان که به ماژولی نیاز داریم، آن را import و استفاده کنیم. در ادامه دو فایل زیر را برای استفاده از ماژولهای Angular Material و Kendo Angular UI در مسیر app\modules تعریف میکنیم. // angular-material-feature.module.ts
import { NgModule } from '@a ...
یکی از عیبهایی که برنامه نویسان front-end و گاها بعضی از مدیران از Angular میگیرند، حجم زیاد صفحاتی است که با Angular کار میشود. در نتیجهی جستجوی مشکل ذکر شده، با تعدادی پاسخ مشابه ^ و ^ روبرو میشویم که هیچ کدام روش صحیحی را برای رفع مشکل ذکر شده عنوان نکردهاند. در ادامه پروژهی Angular ای را شروع میکنیم و حجم صفحات خروجی را مورد بررسی قرار میدهیم. سپس نحوهی بهینه سازی و کم کردن حجم صفحات خروجی را بررسی میکنیم. برا ...
این روزها ساخت کتابخانههای مدرن جاوا اسکریپتی که نیازهای انواع و اقسام توسعه دهندگان آنها را پوشش دهند، مشکل است. این کتابخانهها باید دارای بستههای مختلفی با پشتیبانی از ES5 و ES2015 به بعد باشند؛ همچنین ارائهی متادیتای مخصوص TypeScript را نیز پشتیبانی کنند. به علاوه مباحث کارآیی، minification و tree shaking (حذف کدهای مرده) را نیز مدنظر داشته باشید.
پیشتر مطلبی را در مورد ساخت کتابخانههای مخصوص Angular را به کمک Angular ...
در نسخههای قبل از Angular CLI 6.0، صرفا امکان Bundle کردن جداگانهی ماژولهایی که در قسمت loadChildren مرتبط با تنظیمات مسیریابی ذکر شده بودند، وجود داشت. بنابراین در برخی از شرایط اگر نیاز به امکان بارگذاری ماژولی به صورت Lazy load بود، باید از سیستم مسیریابی استفاده میشد یا اینکه با یکسری ترفند، CLI و Webpack را مجبور به ساخت فایل chunk جداگانه برای ماژول مورد نظر میکردید. از زمان انتشار Angular CLI 6.0 امکان Lazy loading ...
هدف ما از این مقاله این است که از طریق وب کم، تصاویر را ضبط کنیم ( یک نمونه ). برای انجام این کار فایل app.component.html را باز کرده و مطابق زیر ویرایش کنید: <div id="app">
<div><video #video id="video" width="640" height="480" autoplay></video></div>
<div><button id="snap" (click)="capture()">ضبط تصویر</button></div>
<canvas #canvas id="canvas" width="640" height ...
مراحل ارتقاء پروژههای Angular از نگارش 6 به 7 آن به شرح زیر هستند: 1- به روز رسانی Angular CLI ابتدا نیاز است نگارش قبلی را حذف و سپس نگارش جدید را نصب کنید: npm uninstall -g @angular/cli
npm cache verify
# if npm version is < 5 then use `npm cache clean`
npm install -g @angular/cli@latest البته Angular 7 پشتیبانی از Node 10 را اضافه کرده است ( بیشتر ؛ دانلود Node ). بنابراین پیش از اجرای دستورات فوق ...
یکی از قابلیتهایی که به Angular 7 اضافه شدهاست، پشتیبانی از Drag and Drop میباشد. برای استفاده از این قابلیت، در ابتدا لازم است Angular CLI را بروز رسانی کنیم و بعد از آن پکیج @angular/cdk را نصب و ماژول DragDropModule را در فایل app.module.ts، بخش import اضافه کنیم: npm install @angular/cdk app.module.ts import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
...
یکی از امکانات Angular 7، ویژگی Virtual Scrolling میباشد. در صورتیکه شما قصد داشته باشید یک لیست بزرگ از المنتها را بارگذاری کنید، اینکار میتواند بر روی کارآیی برنامهی شما تاثیر بگذارد . تگ زیر <cdk-virtual-scroll-viewport></cdk-virtual-scroll-viewport> می تواند برای بارگذاری تنها بخشهای قابل مشاهدهی از یک لیست، بر روی صفحه نمایش استفاده شود و همچنین تنها آیتمهایی Render خواهند شد که میتواند آنها را در صف ...
در مطلب « کنترل نرخ ورود اطلاعات در برنامههای Angular » جزئیات پیاده سازی جستجوی همزمان با تایپ کاربر، بررسی شدند. در اینجا میخواهیم از اطلاعات آن مطلب جهت پیاده سازی یک AutoComplete جستجوی نام کاربران که اطلاعات آن از سرور تامین میشوند، استفاده کنیم:
استفاده از کامپوننت AutoComplete کتابخانهی Angular Material
کتابخانهی Angular Material به همراه یک کامپوننت Auto Complete نیز هست. در اینجا قصد داریم آن ...
Angular Material به همراه یک کامپوننت Date-Picker بسیار شکیل و حرفهای است اما ... از تقویم شمسی پشتیبانی نمیکند. در این مطلب میخواهیم با تدارک یک DateAdapter سفارشی، این مشکل را برطرف کنیم تا در نهایت به یک چنین Date-Picker شمسی برسیم: تاریخچهی تغییرات کامپوننت Date-Picker
اخیرا تیم Angular Material، امکان تعریف تقویمهای دیگری را بجز تقویم میلادی، با تدارک کلاس پایه DateAdapter فراهم کردهاست . در این ...