آقای Domenic Denicola در نسخههای بعدی، طرح پیشنهادی را مطرح کرده است که مربوط به بارگذاری داینامیک ماژولهای JS میباشد. البته کتابخانهها و روشهایی در حال حاضر برای این کار وجود دارند. با هم مثالهایی از این قابلیت را بررسی میکنیم. در نسخه جدید Javascript قابلیتی برای import کردن ماژولها وجود دارد؛ ولی این قابلیت کاملا استاتیک میباشد. کد زیر را مشاهده کنید: import someModule from './dir/someModule.js'; خوب سوالی که ...
همه ما میدانیم برای اینکه محتوای ما به وسیله Google و سایر موتورهای جستجو index شود باید این محتوا در سمت سرور ایجاد و به کلاینت ارسال شود. مدتی بود با مقالاتی مواجه میشدم که نیازی به این کار نیست و گوگل این قابلیت را دارد تا اطلاعاتی را که سمت کلاینت پردازش و Render میشوند نیز index کند. تا این که خودم تصمیم گرفتم این مورد را تست کنم.
چند روز پیش شروع به بررسی SEO در AngularJS 1.x کردم. صورت مسئلهی من به این صورت بود ک ...
در این مقاله شما را با روشی آشنا خواهم کرد که در عین سادگی، کارآیی زیادی در پروژههای AngularJS خواهد داشت. برای همه ما پیش آماده است که خیلی از Injectionهای Controllerهای AngularJS به صورت مشترک بوده ولی مجبور شدهایم این Injectionها را در هر Controller تکرار کنیم. کدهای زیر را مشاهده کنید. در این کد یک سری از injectionها به صورت مشترک در این ۴ Controller تکرار شده است. app.controller('ctrl1',['$scope','$rootscope','$location' ...
موضوع این مقاله استفاده مستقیم از توابع و عملیات محاسباتی برای Binding در View میباشد که در پروژههای بزرگ که حجم المنتها در صفحه زیاد است عملکردی منفی در Performance دارد که قابل چشم پوشی نیست. برای اینکه این مورد ملموس باشد بنده مثالی را آماده کردهام که هدف آن بیشتر درک درست شما از این موضوع است. کد زیر را مشاهده کنید: <input type="text" ng-model="newItemTitle">
<button type="button" ng-click="add()">افزودن< ...
در این مقاله در خصوص موضوعی صحبت خواهم کرد که شاید مشکل اکثر برنامه نویسان باشد؛ مخصوصا در استفاده از پلاگینهای jQuery در پروژههای AngularJS. مطمئنا برای شما هم پیش آمده که نیاز داشته باشید تابعی را بعد از اتمام Render در AngularJS صدا بزنید یا متوجه اتمام Render بشوید. سوال اول: چرا این بحث مطرح هست؟ وقتی شما از AngularJS در پروژهای استفاده میکنید و سبک کاری شما Model Based یا بهتر بگویم MVVM میباشد، عملیات Binding ...
در طراحی صفحات وب، معمولا از فایلهای JS و CSS مختلفی استفاده میشود؛ از کتابخانهها گرفته تا فایلها اصلی برنامه. به صورت خیلی ساده ما تمام این فایلها را به صفحهی لینک میکنیم. اما این روش درست نیست و حجم صفحه و تعداد درخواستها به سرور برای بارگذاری فایلها خیلی بیشتر میشود. در زمان اجرای یک صفحهی وب مسلما قسمتهایی از صفحه وجود دارند که شاید در شرایط خاصی، کاربر این صفحات را ببیند و یا نیاز باشد تا منطقی، توسط یک فایل JS خاص انجام ش ...
در این مقاله موضوعی را مطرح خواهم کرد که شاید برای خیلیها این نوع کد نویسی خوشایند نباشد. حتی برای خود من هم خوشایند نیست؛ ولی نهایتا در بهبود Performance تاثیر خیلی زیادی دارد. به کد زیر دقت کنید. <div ng-repeat="item in items">
<div ng-if="setting.header">{{item.header}}</div>
<div>{{item.title}}</div>
<div ng-if="setting.footer">{{item.footer}}</div>
</div>
...
امیدوارم از مقالات قبلی لذت برده باشید. در این مقاله میخواهم در مورد $watch صحبت کنم. سوال اول: $watch چیست و چه کاربردی دارد؟ $watch همان عملکرد Watching در AngularJS را انجام میدهد؛ ولی کاربردهای جالبی دارد. به کد زیر دقت کنید. var errorChat=false;
$scope.$watch(function () {
return errorChat;
}, function (newValue, oldValue) {
if(newValue ==true){
alert('قسمت محاوره سامانه با مشکل ...
خیلی خوشحالم که تا این مرحله، این مقالهها را دنبال میکنید. در مقالات قبل مسائل ساده و مهمی در بحث Performance مطرح شد. در این مقاله میخواهم قدم سوم در بهبود Performance را توضیح دهم که رعایت کردن این مسائل میتواند کمک زیادی در بهبود عملکرد برنامههای مبتنی بر AngularJS داشته باشد. scope؟ همهی برنامه نویسان و توسعه دهندگان، یکی از اولین مفاهیمی را که در AngularJS یاد میگیرند، scope هست. اما scope چیست؟ به صورت خی ...
در مقالهی قبل روش درست استفاده کردن از Binding را برای بهبود Performance، توضیح دادم. در این مقاله میخواهم در مورد ng-if و فرق آن با ng-show صحبت کنم و اینکه کدامیک Performance بهتری را برای AngularJS فراهم میکنند. سول اول، کار ng-show چیست؟ ng-show یکی از پر کاربردترین Directiveهای AngularJS است که وظیفهی Show و Hide قسمتی از Vew را به عهده دارد. به کد زیر توجه کنید: <div ng-show="has">
<div ...