আমার একটি ওয়েব পৃষ্ঠা রয়েছে যা একটি একক সত্তার সম্পাদক হিসাবে কাজ করে যা which স্কোপ.ফিল্ড কনটেনার সম্পত্তিটিতে একটি গভীর গ্রাফ হিসাবে বসে। আমার REST এপিআইয়ের ($ রিসোর্সের মাধ্যমে) থেকে প্রতিক্রিয়া পাওয়ার পরে আমি 'ফিল্ডকন্টেইনার'-এ একটি ঘড়ি যুক্ত করব। পৃষ্ঠা / সত্তাটি "নোংরা" আছে কিনা তা সনাক্ত করতে আমি এই ঘড়িটি ব্যবহার করছি। এই মুহূর্তে আমি সেভ বোতামটি বাউন্স করছি তবে সত্যই আমি সেভ বোতামটি অদৃশ্য করতে চাই যতক্ষণ না ব্যবহারকারী মডেলটি উত্সাহিত করে।
আমি যা পাচ্ছি তা হ'ল ঘড়ির একক ট্রিগার, যা আমি মনে করি কারণ ঘটছে because ফিল্ড কন্টেইনার = ... অ্যাসাইনমেন্টটি আমার ঘড়িটি তৈরি করার সাথে সাথেই ঘটে। আমি প্রাথমিক মিথ্যা অ্যালার্ম শোষণের জন্য কেবল "নোংরা কাউন্ট" সম্পত্তিটি ব্যবহার করার কথা ভাবছিলাম তবে এটি খুব কৃপণ বোধ করে ... এবং আমি বুঝতে পেরেছিলাম যে এটির মোকাবেলার জন্য একটি "কৌণিক আইডিয়োমেটিক" উপায় থাকতে হবে - আমি কেবল একা নই একটি নোংরা মডেল সনাক্ত করতে একটি ঘড়ি ব্যবহার করে।
আমি আমার ঘড়িটি সেট করেছি এমন কোডটি এখানে:
$scope.fieldcontainer = Message.get({id: $scope.entityId },
function(message,headers) {
$scope.$watch('fieldcontainer',
function() {
console.log("model is dirty.");
if ($scope.visibility.saveButton) {
$('#saveMessageButtonRow').effect("bounce", { times:5, direction: 'right' }, 300);
}
}, true);
});
আমি কেবল এই ভাবতে থাকি যে "" (নোংরা অ্যাকাউন্ট> 0) "দিয়ে আমার" ইউআই গন্ডগোল "কোডটি রক্ষা করার চেয়ে এটি করার একটি পরিষ্কার উপায় হতে পারে ...
undefined
। এটির একটি ডিফল্ট মান রয়েছে যা আমার মডেল আপডেটের ক্ষেত্রে প্রয়োজনীয় সমস্ত তথ্য নিয়ে আসে না। সুতরাং কিছু মান পরিবর্তন হয় না তবে ট্রিগার করতে হয়।