Задать вопрос
Ответы пользователя по тегу Angular
  • Как использовать js плагин в angularjs?

    @ImSokel
    Проверьте существует ли в dom эти элементы перед тем как вы вешаете на них плагин.
    по простому :
    console.log( $(".element"));
    Если нет:
    Плохой и костыльный вариант решения будет состоять в том, что бы дождаться появления этих элементов:
    .directive('myDatepicker', function() {
        return {
            require: 'ngModel',
            link: function (scope, element, attrs, slideShowCtrl) {
                setTimeout(function() {
                    $(".element").typed({
                        strings: ["First sentence.", "Second sentence."],
                        typeSpeed: 0
                    });
                });
            }
        }
    }),


    А если по честному, то одним из самых лучших способов будет повесить на эти элементы определенную директиву. Например так я раньше делал для wysihtml5 редактора:
    .directive('wysiwygComponent', function() {
            return {
                templateUrl: 'template/partials/wysiwygComponent.html',
                restrict: 'A',
                link: function(scope, element, attrs) {
                    /** Инициализируем редактор кода после появления директивы **/
                    var txt = $(element).find("textarea");
                    txt.wysihtml5({
                        locale: "ru-RU",
                        toolbar: {
                            "html" : true,
                        },
                        stylesheets: [],
                        events: {
                            "blur": function() {
                                scope.$apply(function() {
                                    var html = txt.siblings("iframe").contents().find("body").html();
                                    scope.modelModel = html;
                                });
                            }
                        }
                    });
                    /** следим за изменением содержимого в редакторе **/
                    scope.$watch('modelModel', function(val) {
                        txt.siblings("iframe").contents().find("body").html(val);
                    });
                },
                scope: {
                    label:'@',
                    modelModel:'='
                }
            };
        })

    Модель передается через model-model аттрибут.
    Ответ написан
    1 комментарий