5

有人在使用angular-ui-select时遇到问题吗?

收到此错误

GET http://localhost/select2/select.tpl.html 404 (Not Found) angular.js:8539
Error: [$compile:tpload] Failed to load template: select2/select.tpl.html

从文档中 - 我只需要参考 select.js 和 select.css

4

3 回答 3

2

尝试使用 / dist目录中的 select.css 和 select.js 文件,而不是 / src目录中的文件。

于 2014-10-22T23:08:11.507 回答
0

您收到此错误是因为错误消息中的模板未加载到 templateCache。您可能正在使用不包含模板的 select.js 版本。

此外,您会发现并非每种模板设计都是针对每种选择类型进行的。例如。没有用于多选的 Selectize 模板,这也可能导致类似的错误。

如果您查看select.js 源代码的末尾,您将了解如何加载模板甚至定义您自己的模板。

在你的情况下:

angular.module("ui.select").run(["$templateCache", function($templateCache){
    $templateCache.put("select2/select.tpl.html","<div class=\"ui-select-container select2 select2-container\" ng-class=\"{\'select2-container-active select2-dropdown-open open\': $select.open,\n \'select2-container-disabled\': $select.disabled,\n \'select2-container-active\': $select.focus, \n \'select2-allowclear\': $select.allowClear && !$select.isEmpty()}\"><div class=\"ui-select-match\"></div><div class=\"select2-drop select2-with-searchbox select2-drop-active\" ng-class=\"{\'select2-display-none\': !$select.open}\"><div class=\"select2-search\" ng-show=\"$select.searchEnabled\"><input type=\"text\" autocomplete=\"off\" autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" class=\"ui-select-search select2-input\" ng-model=\"$select.search\"></div><div class=\"ui-select-choices\"></div></div></div>");
}]);
于 2014-12-10T05:52:32.270 回答
0

您还需要模板 - 查看 src 文件夹。有3个主题。

当您在页面中包含 select 时,您指定要使用哪一个:

<ui-select ng-model="boo.selected" theme="resources/templates/select2" ng-disabled="disabled">

在上面我放了模板的路径

于 2014-10-21T13:48:06.247 回答