2016-01-20 2 views
0

У меня есть файл с директивойJS скрипты не работают в шаблоне угловых директивы

(function (angular) { 
 
    'use strict'; 
 

 
    function digest(factory) { 
 
     var directive = { 
 
      restrict: 'E', 
 
      templateUrl: '/js/app/digest/templates/digest.template.html', 
 
      scope: true, 
 
      replace: true, 
 
      controller: [ 
 
       '$scope', '$http', 
 
       function ($scope, $http) { 
 
.... 
 
       } 
 
      ] 
 
     }; 
 
     return directive; 
 
    } 
 

 
digest.$inject = ['digest.factory']; 
 
    angular.module('news').directive('maindigest', digest); 
 
})(angular);

Шаблон

<div> 
 
<input id="datepicker"/> 
 

 
<script> 
 
     $("#datepicker").kendoDatePicker(); 
 
</script> 
 
</div>

Index.html где го в директиве определяется

<script src="/vendor/bower_components/angular/angular.js"></script> 
 
    <script src="/js/app/digest/digest.js"></script> 
 
    <script src="/js/app/digest/digest.directive.js"></script> 
 
    <script src="/js/app/digest/digest.factory.js"></script> 
 

 
    <link href="/vendor/bower_components/kendo-ui/styles/kendo.common.min.css" rel="stylesheet"> 
 
    <link href="/vendor/bower_components/kendo-ui/styles/kendo.default.min.css" rel="stylesheet"> 
 
    <script src="/vendor/bower_components/kendo-ui/js/jquery.min.js"></script> 
 
    <script src="/vendor/bower_components/kendo-ui/js/kendo.all.min.js"></script> 
 
</head> 
 
<body> 
 
<maindigest></maindigest> 
 
... 
 
// in here js scripts work 
 
//<input id="datepicker"/> 
 
//<script> 
 
     //$("#datepicker").kendoDatePicker(); 
 
//</script> 
 
...

Может кто-нибудь помочь мне, почему некоторые JS скрипты не работают в шаблоне директивы. Мое мнение - функции js не существуют в шаблоне директивы, хотя в index.html все в порядке

+0

Эта проблема, вероятно, возникает из-за того, что ввод, который вы пытаетесь вызвать на вашем скрипте, не существует на странице во время инициализации и поэтому не известен вашему сценарию кендо. Вам нужно изучить документацию для kendoui, чтобы определить, как динамически добавлять новые элементы после загрузки страницы. добавление тега kendoUi на ваш вопрос может также помочь привлечь других, которые столкнулись с комбинацией угловых и кендо, чтобы рассмотреть ваш вопрос. – Claies

ответ

0

Я думаю, вам нужно добавить шаблон type = ng в свой тег скрипта.

Или, может быть, добавить атрибут кендо-даты для вашей директивы.

+0

Не могли бы вы привести пример? – Decastrio

Смежные вопросы