سؤال

لدي هذا التوجيه ngFocused يعمل، لكني أرغب في وضعه في ملف js الخاص به.كيف يمكنني توصيل ذلك؟

    var appObject = angular
        .module('app', ['ngAnimate'])
        .directive('ngFocused', [
            function() {
                var FOCUS_CLASS = "focused";
                return {
                    restrict: 'A', //Attribute only
                    require: 'ngModel',
                    link: function(scope, element, attrs, ctrl) {
                        ctrl.$focused = false;
                        element.bind('focus', function(evt) {
                            element.addClass(FOCUS_CLASS);
                            scope.$apply(function() { ctrl.$focused = true; });
                        }).bind('blur', function(evt) {
                            element.removeClass(FOCUS_CLASS);
                            scope.$apply(function() { ctrl.$focused = false; });
                        });
                    }
                }
            }
        ]);
هل كانت مفيدة؟

المحلول

أحب نهج iife.في ملفك الجديد:

giveacodicetagpre.

سوف تبقي كل الأشياء الخاصة بك من مساحة الاسم العالمية.تأكد من الرجوع إلى البرنامج النصي الذي يحدد التطبيق الزاوي قبل المرجع.

نصائح أخرى

فقط قسمهم إلى ملفين.(ولا تنس الإشارة إلى الملف الجديد في ملف html الخاص بك باستخدام الملف <script> بطاقة شعار):

// file app.js
var appObject = angular.module('app', ['ngAnimate'])

// file ngFocused.js
appObject.directive('ngFocused', [ function() {
    var FOCUS_CLASS = "focused";
    return {
        restrict: 'A', //Attribute only
        require: 'ngModel',
        link: function(scope, element, attrs, ctrl) {
            ctrl.$focused = false;
            element.bind('focus', function(evt) {
                element.addClass(FOCUS_CLASS);
                scope.$apply(function() { ctrl.$focused = true; });
            }).bind('blur', function(evt) {
            element.removeClass(FOCUS_CLASS);
            scope.$apply(function() { ctrl.$focused = false; });
        })
     };
}]);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top