ui-select错误"Can't interpolate: {{$select.getPlaceholder()}}"
ui-select error "Can't interpolate: {{$select.getPlaceholder()}}"
这是我在 angular ui-select
中得到的完整错误
Error: [$interpolate:interr] Can't interpolate: {{$select.getPlaceholder()}} TypeError: Cannot read property 'length' of undefined
我的标记是:
<ui-select multiple ng-model="case.keywords" theme="bootstrap">
<ui-select-match placeholder="Select keywords...">{{$item.name}}</ui-select-match>
<ui-select-choices repeat="keywords in keywords | filter: $select.search">
<div ng-bind-html="keyword.name | highlight: $select.search"></div>
</ui-select-choices>
</ui-select>
<p>Selected: {{case.keywords}}</p>
除了 get
从 db 中调整关键字数组外,控制器没有什么特别之处。显然 ngSanitize
和 ui.select
包含在模块依赖项中。
我遇到的另一个问题是选择不可见。我能够显示 selected 的,但是选择列表不可见。我正在使用 bootstrap 主题, select.css
被引用。这是它的样子
感谢您的帮助。
来自@SunilVurity 和@Fiver 的问题为我提供了解决问题的提示:
首先我把keywords
改成了keyword
在:
<ui-select-choices repeat="keywords in keywords | filter: $select.search">
第二个 在我的控制器中我有:
appFactory.getKeywords().then(function (keywords){
$scope.keywords = keywords;
$scope.case = {};
$scope.case.selectedKeywords = [];
});
我改成了:
$scope.case = {};
$scope.keywords = [];
learningCasesFactory.getKeywords().then(function (keywords){
$scope.keywords = keywords;
$scope.case.selectedKeywords = [];
});
正如您在控制器中看到的那样,get
函数是异步的,returns 加载视图的未定义列表导致了我在问题中提到的错误。更新控制器后错误消失。这个 SO 问题帮助 AngularJS Interpolation Error.
Third uiselect
和 angular
版本可能会导致问题。我的 angular 版本是 1.2.9。这个ui-select Github issue说明升级angular版本就解决了,我升级到1.3.11
感谢@SunilVurity 和@Fiver
这是我在 angular ui-select
中得到的完整错误Error: [$interpolate:interr] Can't interpolate: {{$select.getPlaceholder()}} TypeError: Cannot read property 'length' of undefined
我的标记是:
<ui-select multiple ng-model="case.keywords" theme="bootstrap">
<ui-select-match placeholder="Select keywords...">{{$item.name}}</ui-select-match>
<ui-select-choices repeat="keywords in keywords | filter: $select.search">
<div ng-bind-html="keyword.name | highlight: $select.search"></div>
</ui-select-choices>
</ui-select>
<p>Selected: {{case.keywords}}</p>
除了 get
从 db 中调整关键字数组外,控制器没有什么特别之处。显然 ngSanitize
和 ui.select
包含在模块依赖项中。
我遇到的另一个问题是选择不可见。我能够显示 selected 的,但是选择列表不可见。我正在使用 bootstrap 主题, select.css
被引用。这是它的样子
感谢您的帮助。
来自@SunilVurity 和@Fiver 的问题为我提供了解决问题的提示:
首先我把keywords
改成了keyword
在:
<ui-select-choices repeat="keywords in keywords | filter: $select.search">
第二个 在我的控制器中我有:
appFactory.getKeywords().then(function (keywords){
$scope.keywords = keywords;
$scope.case = {};
$scope.case.selectedKeywords = [];
});
我改成了:
$scope.case = {};
$scope.keywords = [];
learningCasesFactory.getKeywords().then(function (keywords){
$scope.keywords = keywords;
$scope.case.selectedKeywords = [];
});
正如您在控制器中看到的那样,get
函数是异步的,returns 加载视图的未定义列表导致了我在问题中提到的错误。更新控制器后错误消失。这个 SO 问题帮助 AngularJS Interpolation Error.
Third uiselect
和 angular
版本可能会导致问题。我的 angular 版本是 1.2.9。这个ui-select Github issue说明升级angular版本就解决了,我升级到1.3.11
感谢@SunilVurity 和@Fiver