angularjs - AngularJS 通过 ng-include 将作用域传递给 x-kendo-template
问题描述
我为我的 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>
解决方案
推荐阅读
- java - 是否可以打电话给某人,当没有人接听时,会打电话给下一个联系人?
- php - 如何隐藏按类名为空的元素?
- c - 尽管链接正确,但未定义的引用
- amazon-web-services - 有没有办法在 CodeCommit 存储库中搜索代码?
- vb.net - 在文件中搜索项目并显示包含该项目的行的最简单方法?
- python - 大文本文件上的文本规范器太慢(Python)
- python - 结束输入输入而没有额外的端线(输入按钮)
- python - 如何返回包含重复 y 次的整数 x 的字符串?
- algorithm - 用 Pandas 输出数据触发 python 函数
- html - Boostrap 导航栏不会在项目之间添加空格