سؤال

وأنا أعلم أنه من الممارسات الجيدة عدم استخدام مسج داخل التطبيق أنغولارجس ، ولكن تكافح من أجل العمل على طريقة أنغولارجس للقيام بذلك:

$scope.clickEvent = function(event) {
    if($(event.target).hasClass('icon-closed')) {
        $(event.target).removeClass('icon-closed')
        $(event.target).addClass('icon-opened')
    } else {
        $(event.target).removeClass('icon-opened')
        $(event.target).addClass('icon-closed')
    }
}

أتش تي أم أل:

<div class="component-title icon-closed" 
     ng-model="collapsed" 
     ng-click="collapsed=!collapsed;clickEvent($event)">{{component.name}}</div>

ال collapsed رمز يظهر / إخفاء لوحات ، و ديف هو ضمن ng-repeat حلقة ، لذلك لا علاقة مع clickEvent وظيفة.

كنت آمل أن أتمكن من الحصول على أسماء الفئة من كائن الحدث وتغييرها دون استخدام مسج.أي أفكار?

شكرا :)

هل كانت مفيدة؟

المحلول

يمكنك استخدام ngClass التوجيه لتحقيق ذلك.

<div class="component-title"
     ng-class="{'icon-closed':collapsed,'icon-opened':!collapsed}"
     ng-model="collapsed"
     ng-click="collapsed=!collapsed">{{component.name}}</div>

مزيد من المعلومات حول ngClass يمكن العثور عليها هنا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top