angular - অ্যাঙ্গুলার 2 @ গেট/সেট সহ কোনও সম্পত্তি ইনপুট করুন




(3)

আমার কাছে সেই উপাদানটিতে একটি কৌণিক 2 উপাদান রয়েছে এটির কাছে বর্তমানে একটি গুচ্ছ ক্ষেত্র রয়েছে যা এই সম্পত্তিটির সাথে আবদ্ধ হওয়ার অনুমতি দেওয়ার জন্য তাদের আগে @ ইনপুট () প্রয়োগ করেছে

@Input() allowDay: boolean;

আমি যা করতে চাই তা আসলে গেট / সেট সহ কোনও সম্পত্তির সাথে আবদ্ধ হয়, যাতে আমি সেটারে অন্য কিছু যুক্তি করতে পারি, নীচের মতো কিছু

_allowDay: boolean;
get allowDay(): boolean {
    return this._allowDay;
}
set allowDay(value: boolean) {
     this._allowDay = value;
     this.updatePeriodTypes();
}

আমি Angular2 এ এটি কীভাবে করব?

থিয়েরি টেম্পিলারের পরামর্শের ভিত্তিতে আমি এটিকে পরিবর্তন করেছি তবে এটি ত্রুটিটি 'অনুমতিডে'-তে আবদ্ধ করতে পারে না কারণ এটি কোনও পরিচিত দেশীয় সম্পত্তি নয়:

//@Input() allowDay: boolean;
_allowDay: boolean;
get allowDay(): boolean {
    return this._allowDay;
}
@Input('allowDay') set allowDay(value: boolean) {
    this._allowDay = value;
    this.updatePeriodTypes();
}

@ পল কাভাকাস, আমারও একই সমস্যা ছিল এবং আমি Input() ডেকরেটারটি গেটারের উপরে সেট করে সমাধান করেছি।

  @Input('allowDays')
  get in(): any {
    return this._allowDays;
  }

  //@Input('allowDays')
  // not working
  set in(val) {
    console.log('allowDays = '+val);
    this._allowDays = val;
  }

এই নিমজ্জনকারী দেখুন: https://plnkr.co/edit/6miSutgTe9sfEMCb8N4p?p=preview পূর্বরূপ


আপনি নীচে বর্ণিত হিসাবে সরাসরি সেটারে @ ইনপুট সেট করতে পারেন:

_allowDay: boolean;
get allowDay(): boolean {
    return this._allowDay;
}

@Input('allowDay')
set allowDay(value: boolean) {
    this._allowDay = value;
    this.updatePeriodTypes();
}

এই বরফটি দেখুন: https://plnkr.co/edit/6miSutgTe9sfEMCb8N4p?p=preview পূর্বরূপ দেখুন।


স্ট্যাকব্লিটজ-এ এখানে কৌণিক 7.0.1-তে গৃহীত উত্তর আপডেট হয়েছে: https://stackblitz.com/edit/angular-inputsetter?embed=1&file=src/app/app.component.ts એમ્બેડ=1&file=src/app/app.componal.ts

directives সাজসজ্জার বিকল্পগুলিতে আর directives নেই। তাই আমি অ্যাপ্লিকেশন মডিউলের সাব ডিরেক্টরি সরবরাহ করেছি।

ধন্যবাদ !





angular