AngularJS передает область действия через ng-include в x-kendo-template - PullRequest
0 голосов
/ 04 июля 2018

Я создал пользовательский шаблон для моего элемента множественного выбора Kendo-ui.

HTML:

<select kendo-multi-select k-options="vm.selectOptions" k-data-value-field="'id'" k-data-text-field="'name'" k-value-primitive="true" k-data-source="vm.people" k-ng-model="vm.selectedPeople" ></select>

Код контроллера для установки Опции:

this.selectOptions = {
    autoClose: false,
    tagMode: "single",
    tagTemplate: $("#_customKendoMultiSelectTemplate").html()
};

Затем я «включаю» шаблон в мой application_layout.html:

<script id="_customKendoMultiSelectTemplate" type="text/x-kendo-template">

    # if (dataItems.length == 1) { #
    # for (var idx = 0; idx < dataItems.length; idx++) { #
    #:dataItems[idx].name#
    # } #
    # } else { #
    #:dataItems.length# ITEMS SELECTED
    # } #

</script>   

Это работает на 100%, я хочу переместить этот шаблон в собственный файл, что я и сделал, но затем angular не знает, что такое «dataItems», и отображает все содержимое шаблона. Так как мне пройти через сферу? Я попробовал несколько вещей с методом onload и ng-init, но не увенчался успехом.

<script id="_customKendoMultiSelectTemplate" type="text/x-kendo-template">
    <ng-include src="'/customKendoMultiSelectTemplate.html'" ></ng-include>
</script>   
...