এনজি-পুনরাবৃত্তির মধ্যে এনজি-ক্লিকের উপরে লুকানো ডিভ দেখান


100

আমি একটি Angular.js অ্যাপে কাজ করছি যা চিকিত্সা পদ্ধতির একটি জেসন ফাইলের মাধ্যমে ফিল্টার করে। এনজি-ক্লিক ব্যবহার করে পদ্ধতির নামটি ক্লিক করা হলে (একই পৃষ্ঠায়) প্রতিটি পদ্ধতির বিবরণ প্রদর্শন করতে চাই। এই পর্যন্ত আমার কাছে যা আছে। প্রসেসরের বিবরণ ডিভ প্রদর্শন করতে সেট করা আছে: কিছুই নেই:

<ul class="procedures">
    <li ng-repeat="procedure in procedures | filter:query | orderBy:orderProp">
        <h4><a href="#" ng-click="?">{{procedure.definition}}</a></h4>
         <div class="procedure-details">
            <p>Number of patient discharges: {{procedure.discharges}}</p>
            <p>Average amount covered by Medicare: {{procedure.covered}}</p>
            <p>Average total payments: {{procedure.payments}}</p>
         </div>
    </li>
</ul>

আমি কৌণিক এ বেশ নতুন। কোনও পরামর্শ?


3
এছাড়াও, আপনাকে এলিমেন্টে সত্যই href = "#" লাগবে না।
— ফু

2
আপনি যদি কোনও এইচটিএমএল যাচাইকারী পাস করতে চান তবে আপনি তা করেন।
— ড্যানি বুলিস

উত্তর:


158

অপসারণ করুন display:noneএবং ng-showপরিবর্তে ব্যবহার করুন:

<ul class="procedures">
    <li ng-repeat="procedure in procedures | filter:query | orderBy:orderProp">
        <h4><a href="#" ng-click="showDetails = ! showDetails">{{procedure.definition}}</a></h4>
         <div class="procedure-details" ng-show="showDetails">
            <p>Number of patient discharges: {{procedure.discharges}}</p>
            <p>Average amount covered by Medicare: {{procedure.covered}}</p>
            <p>Average total payments: {{procedure.payments}}</p>
         </div>
    </li>
</ul>

এই হিটটি এখানে: http://jsfiddle.net/asmKj/


আপনি ng-classক্লাস টগল করতেও ব্যবহার করতে পারেন :

<div class="procedure-details" ng-class="{ 'hidden': ! showDetails }">

আমি এটি আরও পছন্দ করি, যেহেতু এটি আপনাকে কিছু সুন্দর ট্রানজিশন করতে দেয়: http://jsfiddle.net/asmKj/1/


3
দ্বিতীয় ডিভিতে ক্লিক করার পরে প্রথম ডিভটি কীভাবে আড়াল করব।
— ব্যবহারকারী 123

উপরের প্রশ্নটির উত্তর দেওয়ার জন্য ... শুধু এনজি-ক্লাসটি সত্যে লুকিয়ে রাখুন .... এনজি-শ্রেণি = "hidden 'লুকানো': শোডেটেলস}"
— ক্রিস ল্যাম্ব্রো

28

হ্যান্ডলারের স্কোপ ভেরিয়েবলের ng-showমানটি ব্যবহার করুন এবং টগল করুন ।showng-click

এখানে একটি কার্যকারী উদাহরণ: http://jsfiddle.net/pvtpenguin/wD7gR/1/

<ul class="procedures">
    <li ng-repeat="procedure in procedures">
        <h4><a href="#" ng-click="show = !show">{{procedure.definition}}</a></h4>
         <div class="procedure-details" ng-show="show">
            <p>Number of patient discharges: {{procedure.discharges}}</p>
            <p>Average amount covered by Medicare: {{procedure.covered}}</p>
            <p>Average total payments: {{procedure.payments}}</p>
         </div>
    </li>
</ul>

4
দ্বিতীয় ডিভিতে ক্লিক করার পরে প্রথম ডিভটি কীভাবে আড়াল করব।
— ব্যবহারকারী 123

এই আমার ধাঁধা ... এই "সুযোগ" পরিবর্তনশীল কিভাবে কাজ করে? আমি যখন এটি চেষ্টা করি তখন সমস্ত লুকিয়ে থাকে !?
— নিকো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.