আমি নীচের মত ব্যবহার করে তারিখের সময় প্রিন্ট করার চেষ্টা করি vue-for
{{ moment().format('MMMM Do YYYY, h:mm:ss a') }}
কিন্তু, এটি প্রদর্শিত হয় না। এটি কেবল ফাঁকা। আমি কীভাবে মুহুর্তটি ব্যবহারের চেষ্টা করতে পারি?
আমি নীচের মত ব্যবহার করে তারিখের সময় প্রিন্ট করার চেষ্টা করি vue-for
{{ moment().format('MMMM Do YYYY, h:mm:ss a') }}
কিন্তু, এটি প্রদর্শিত হয় না। এটি কেবল ফাঁকা। আমি কীভাবে মুহুর্তটি ব্যবহারের চেষ্টা করতে পারি?
উত্তর:
আপনার কোড সহ, vue.js
এর moment()
পদ্ধতি থেকে পদ্ধতিটি অ্যাক্সেস করার চেষ্টা করছে ।
সুতরাং আপনার এই জাতীয় পদ্ধতি ব্যবহার করা উচিত:
methods: {
moment: function () {
return moment();
}
},
আপনি যদি একটি তারিখ পাস করতে চান তবে moment.js
আমি ফিল্টারগুলি ব্যবহার করার পরামর্শ দিচ্ছি:
filters: {
moment: function (date) {
return moment(date).format('MMMM Do YYYY, h:mm:ss a');
}
}
<span>{{ date | moment }}</span>
যদি আপনার প্রকল্পটি কোনও একক পৃষ্ঠার অ্যাপ্লিকেশন হয় (উদাহরণস্বরূপ প্রকল্পটি তৈরি করেছে vue init webpack myproject
) তবে আমি খুঁজে পেয়েছি যে এটি সবচেয়ে স্বজ্ঞাত এবং সহজ:
ইন main.js
import moment from 'moment'
Vue.prototype.moment = moment
তারপরে আপনার টেমপ্লেটে, সহজভাবে ব্যবহার করুন
<span>{{moment(date).format('YYYY-MM-DD')}}</span>
আপনার package.json
মধ্যে "dependencies"
বিভাগ যোগ করুন মুহুর্ত:
"dependencies": {
"moment": "^2.15.2",
...
}
যে উপাদানটিতে আপনি মুহূর্তটি ব্যবহার করতে চান সেখানে এটি আমদানি করুন:
<script>
import moment from 'moment'
...
এবং একই উপাদান একটি গণিত সম্পত্তি যুক্ত করুন:
computed: {
timestamp: function () {
return moment(this.<model>.attributes['created-at']).format('YYYY-MM-DD [at] hh:mm')
}
}
এবং তারপরে এই উপাদানটির টেমপ্লেটে:
<p>{{ timestamp }}</p>
date2day: function (date) {return moment(date).format('dddd')}
আপনি ব্যবহার করতে পারবেন না computed
এবং তার methods
পরিবর্তে ব্যবহার করা উচিত ।
আমি এটি একক ফাইলের উপাদানটিতে ভ্যূ ২.০ দিয়ে কাজ করতে পেরেছি।
npm install moment
আপনি যে ফোল্ডারটি ইনস্টল করেছেন সেখানে
<template>
<div v-for="meta in order.meta">
{{ getHumanDate(meta.value.date) }}
</div>
</template>
<script>
import moment from 'moment';
export default {
methods: {
getHumanDate : function (date) {
return moment(date, 'YYYY-MM-DD').format('DD/MM/YYYY');
}
}
}
</script>
এখানে ভ্যু নামে পরিচিত একটি তৃতীয় পক্ষের র্যাপার লাইব্রেরি ব্যবহার করে একটি উদাহরণ দেওয়া হল vue-moment
।
মুহুর্তের দৃষ্টান্তটিকে ভয়ের রুট স্কোপে বাঁধাই করার পাশাপাশি, এই লাইব্রেরিতে অন্তর্ভুক্ত রয়েছে moment
এবং duration
ফিল্টারগুলি।
এই উদাহরণটিতে স্থানীয়করণ অন্তর্ভুক্ত রয়েছে এবং নোডজেএসের কমনজেএস মডিউল সিস্টেমের পরিবর্তে ES6 মডিউল আমদানি ব্যবহার করা হচ্ছে, একটি সরকারী মান।
import Vue from 'vue';
import moment from 'moment';
import VueMoment from 'vue-moment';
// Load Locales ('en' comes loaded by default)
require('moment/locale/es');
// Choose Locale
moment.locale('es');
Vue.use(VueMoment, { moment });
এখন আপনি কোনও অতিরিক্ত মার্কআপ ছাড়াই সরাসরি আপনার ভ্যু টেম্পলেটগুলিতে মুহুর্তের উদাহরণটি ব্যবহার করতে পারেন:
<small>Copyright {{ $moment().year() }}</small>
বা ফিল্টারগুলি:
<span>{{ 3600000 | duration('humanize') }}</span>
<!-- "an hour" -->
<span>{{ [2, 'years'] | duration('add', 1, 'year') | duration('humanize') }}</span>
<!-- "3 years" -->
// plugins/moment.js
import moment from 'moment';
moment.locale('ru');
export default function install (Vue) {
Object.defineProperties(Vue.prototype, {
$moment: {
get () {
return moment;
}
}
})
}
// main.js
import moment from './plugins/moment.js';
Vue.use(moment);
// use this.$moment in your components
আমি কেবল মুহুর্তের মডিউলটি আমদানি করব, তারপরে আমার মুহুর্তের () যুক্তিটি পরিচালনা করতে একটি গণিত ফাংশন ব্যবহার করব এবং টেমপ্লেটে রেফারেন্সযুক্ত একটি মান ফিরিয়ে দেব।
যদিও আমি এটি ব্যবহার করি নি এবং এর কার্যকারিতা নিয়ে কথা বলতে পারি না, আমি বিকল্প বিবেচনার জন্য https://github.com/brockpetrie/vue-moment খুঁজে পেয়েছি
Vue-মোমেন্ট
Vue প্রকল্পের জন্য খুব দুর্দান্ত প্লাগইন এবং উপাদান এবং বিদ্যমান কোডের সাথে খুব সুচারুভাবে কাজ করে। মুহুর্তগুলি উপভোগ করুন ... 😍
// in your main.js
Vue.use(require('vue-moment'));
// and use in component
{{'2019-10-03 14:02:22' | moment("calendar")}}
// or like this
{{created_at | moment("calendar")}}