دنبال کنندگان


تعداد دنبال کنندگان : 1 نفر

مشخصات عمومی کاربر

: حسین اکبرزاده
: hossein
: 1367/06/01 ( 31
: تهران
: تهران
: مهندس کامپیوتر - نرم افزار
: فوق لیسانس مدیریت IT
: http://arbatan.com

پست ها

شروع با Vuejs
در تاریخ توسط
برای دریافت متغیرهای ایجاد شده در vue در سمت html از {{}} استفاده میشود. که به آن  string interpolation گفته میشود .

برای فراخوانی یک متد در یک تگ html  از v-on و بعد ایونت جاوااسکریپتی و بعد بعد فانکشنی که باید اجرا بشه استفاده میکنیم .

  <input type="text" id="txt-title" v-on:input="changeText">
و در فایل vuejs
new Vue({
    el: '#first-app',
    data: {
        title: 'Hello World',
    },
    methods: {
        changeText: function (event) {
            this.title = event.target.value;
        }    
})
مثلا برای فراخوانی متد بعد از اینتر زدن
 <input type="text" id="txt-title" v-on:keyup.enter="changeText">

اگر بخواهیم مقدار یک متغییر همیشه مقدار اولیه اون که ست شده دریافت شود و اگر متغیر تغییر کرده بود اونا رو نادیده بگیره از دکوراتور v-once در تگ مورد نظرمون استفاده میکنیم. حالا میدونیم توی this.title مقدار تغییر کرده ولی به اون توجهی نمیشه .
<h1 v-once>{{title}}</h1>
برای فراخوانی یک متد به طور مستقیم در string interpolation از نام متد و () استفاده میکنیم مثل
{{myMethod()}}
برای بایند کردن تگ‌های html به یک تگ از v-bind استفاده میکنیم.
new Vue({
    el: '#first-app',
    data: {
        link: 'http://openlearn.ir'
    }
})

<a v-bind:href="link">openlearn</a>
در واقع عمل v-on برای ارسال از سمت html به js  استفاده میشه و v-bind برای ارسال از js  و استفاده در html استفاده میشه.
برای بایند کردن تگ‌های html به یک string interpolation نمیشه این کار رو مستقیم انجام داد چون همون مقدار تکست html ای رو دقیقا نشون میده و به جاش از یک تگ html ای مثل p و  از v-html استفاده میکنیم.
new Vue({
    el: '#first-app',
    data: {
       htmlLink: '<a href="http://openlearn.ir">OpenLearn</a>'
    }
})

{{htmlLink}}
<p v-html="htmlLink"></p>
در هنگام ارسال آرگومان‌ها از html به js در html کد event$ یک آرگومان رزرو شده است است که میشه با اون اطلاعات ایونت مورد نظر رو ارسال کرد.
v-bind:click:"myFunction($event)"
به متدهای توکاری که به ایونت‌های جاوااسکریپت اضافه میشوند تا تغییری توی اونا بدن modifier گفته میشود.  مثلا گفتیم اگر به فلان ناحیه رسیدی وایسا و طبیعتا فانکشنی هم بعد اون اجرا نمیشه.
v-bind:mousemove.stop:""
میشه چند تا modifier رو با . پشت سرهم آورد .
keyup.enter.space.esc
Two way binding
 <input type="text" v-model="name" />
{{name}}

new Vue({
    el: '#first-app',
    data: {
        name: 'openlearn',
    },
}
برای خلاصه نویسی
به جای v-on:click میشه نوشت click@ در واقع جای v-on مینویسیم @ و جای v-bind:href میشه فقط : گذاشت . از بایندینگ برای اضافه کردن خصوصیات vuejs ای به html استفاده میشود مثلا میخوایم به صورت شرطی یک کلاس بنویسیم .
  <div class="demo" :class="{ red: attachRed , blue : !attachRed }" @click="attachRed = !attachRed"></div>
با کلیک attachRed برابر true میشه و کلاس red فراخوانی میشه و با کلیک بعدی false میشه و کلاس blue فراخوانی میشه.
new Vue({
  el: '#roxo-app',
  data: {
    attachRed: false
  }
}
که بوسیله computed‌ها میشه جلوی کلاس نام computed رو فراخوانی کرد .
  <div class="demo" :class="divClasses" @click="attachRed = !attachRed"></div>
  <div class="demo" :class="{red: attachRed}"></div>
  <div class="demo" :class="[color, {blue: attachRed}]"></div>

  <input type="text" v-model="color">
  <hr>

  <h1>Dynamic Styles</h1>
  <div class="demo" :style="{backgroundColor: bgColor}"></div>
  <div class="demo" :style="divStyles"></div>
  <div class="demo" :style="[divStyles, {height: width + 'px'}]"></div>
و
new Vue({
  el: '#roxo-app',
  data: {
    attachRed: false,
    color: 'green',
    width: 100,
    bgColor: 'gray'
  },
  computed:{
    divClasses: function(){
      return {
        red: this.attachRed,
        blue: !this.attachRed
      }
    },
    divStyles: function(){
      return {
        backgroundColor: this.bgColor,
        width: this.width + 'px'
      }
    }
  }
})

دستورات شرطی و حلقه ها
new Vue({
  el: '#roxo-app',
  data: {
    show: true,
    foods: ['پیتزا', 'قرمه سبزی','چلو کباب'],
    persons: [
      {name: 'masoud', age: 28, website: 'www.roxo.ir'},
      {name: 'morvarid', age: 28, website:'www.google.com'}
    ]
  }
})
و در html
<p v-if="show">شما می‌توانید این پاراگراف را ببینید.</p>
  <p v-else>شما نمی‌توانید این پاراگرافت را مشاهده کنید</p>
  <template v-if="show">
  <h3>گروه بندی قالب</h3>
  <p>این پاراگراف در یک گروه بندی قرار دارد</p>
  </template>
<p v-show="show">آیا می‌توانید من را ببینید؟</p>
  <button type="button" @click="show = !show">تغییر وضعیت</button>
  <hr>
  <ul>
  <li v-for="(food, i) in foods" :key="food">{{food}} - ({{i}})</li>
  <button type="button" @click="foods.push('دنده کباب')">افزودن غذای جدید</button>
  </ul>
  <hr>
  <ul dir="ltr">
  <li v-for="person in persons">
  <span v-for="(value, key, index) in person">
  {{key}}: {{value}} - ({{index}})
  </span>
  </li>
  </ul>
v-if در صورت نادرست بودن در اینجا کلا یک تگ رو نشون نمیده . v-show   در صورت نادرست بودن hide میکنه .
توی حلقه for  اگه فقط خود object رو بخواهیم مثل person in persons نوشته میشه . اگر Index و key اون رو هم بخواهیم درون پرانتز () به صورت دو یا سه عبارتی مینویسیم .


گروه های پست :
مشاهده : 31
پسندها : 0
پیوست ها : 0
اختلاف دو map در SQL Server
در تاریخ توسط

 برای پیدا کردن نزدیک‌ترین نقاط با اختلاف فاصله مشخص از محل مورد نظر در sql میتوانیم از قطعه کد زیر استفاده کنیم.

DECLARE @lat DECIMAL(12, 9)
DECLARE @lng DECIMAL(12, 9)

DECLARE @current geography = geography::Point(@lat, @lng, 4326);

SELECT *, @current.STDistance(Location) 
       AS distance
FROM dbo.Merchant
WHERE @current.STDistance(Location) <10
اضافه کردن یا به روز رسانی مقدار geography جدید در دیتابیس
UPDATE  dbo.Merchant
SET
   Location =  geography::Point(35.765963, 51.356741, 4326)
 WHERE MerchantID = 2

گروه های پست :
SQL
مشاهده : 23
پسندها : 0
پیوست ها : 0
اضافه کردن geoghrphy با استفاده از ef core 3
در تاریخ توسط
public Point Location { get; set; }

برای اضافه کردن geoghrphy با استفاده از ef core 3 ابتدا لازمه کتابخانه زیر اضافه شه

Microsoft.EntityFrameworkCore.SqlServer.NetTopologySuite
بعد باید در dbcontext  در startup تغییر داد
services.AddDbContext(c => c.UseSqlServer(Configuration.GetValue("ConnectionString") ,x => x.UseNetTopologySuite()));
و در entity‌ها به شکل زیر تعریف میشود

برای کوئری گرفتن
 var currentLocation = new Point(dto.Lat, dto.Lng) { SRID = 4326 };
 queryRow = YOURCONTEXT.YOURTABLE.find(id);
 queryRow.Distance = queryRow.Location.Distance(currentLocation)



گروه های پست :
مشاهده : 29
پسندها : 0
پیوست ها : 0
ساده سازی using در c#8
در تاریخ توسط

به جای شکل قدیم using  که باید یک اسکوپ تعریف میکردیم حالا دیگه لازم نیست اسکوپ تعریف بشه و خودش آخر متد dispose میشه .

 using (HttpClient client = new HttpClient())
{
     //codes
}
تبدیل میشه به
 using HttpClient client = new HttpClient();
 //codes

https://csharp.christiannagel.com/2019/04/09/using/


گروه های پست :
c#
مشاهده : 30
پسندها : 0
پیوست ها : 0
EF Core 3
در تاریخ توسط

 

ساخت مدل از دیتابیس آماده در  net Core 3

 Scaffold-DbContext "Server=.\SQLExpress;Database=SchoolDB;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
برای اعمال تغییرات به مدلی که یک بار ساخته شده force- لازم است
Scaffold-DbContext "Server=.;Database=SchoolDB;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Force

نکات بیشتر در



گروه های پست :
EF
مشاهده : 30
پسندها : 0
پیوست ها : 0
پست های بیشتر
loading...

لطفا منتظر بمانید...