我正在尝试在我的应用中选择>。<它给了我很多麻烦。我已经按照示例和文档进行操作,我无法理解我在这里做错了什么。
这是我的HTML:
<div class="form-group">
<label class="control-label small">User Roles</label>
<ui-select multiple ng-model="vm.form.roles" ng-disabled="disabled">
<ui-select-match placeholder="Select roles">{{$item}}</ui-select-match>
<ui-select-choices repeat="role.id as role in vm.roles | filter:$select.search">
{{role.name}}
</ui-select-choices>
</ui-select>
</div>
这是我的控制者:
angular.module('app.ctrls')
.controller('UsersCtrl', UsersCtrl);
// Injecting Dependencies
UsersCtrl.$inject = ['$scope', '$state', '$stateParams', 'Role', 'User'];
// Controller Function
function UsersCtrl($scope, $state, $stateParams, $r, $u) {
var vm = this;
vm.form = {};
vm.form.roles = [];
vm.users = [];
vm.roles = [];
vm.messageBag = [];
vm.errorBag = [];
vm.getAllRoles = function() {
$r.get()
.success(function (response, status, headers, config) {
vm.messageBag = response.messages;
vm.roles = response.data;
for (var i = 0; i < vm.messageBag.length; i++) {
$scope.createToast('success', vm.messageBag[i]);
}
})
.error(function (data, status, headers, config) {
// Clearing Error Bag
vm.errorBag = [];
for (var prop in data) {
if (data.hasOwnProperty(prop)) {
data[prop].forEach(function (msg) {
if (vm.errorBag.indexOf(msg) == -1) {
vm.errorBag.push(msg);
}
});
}
}
for (var i = 0; i < vm.errorBag.length; i++) {
$scope.createToast('danger', vm.errorBag[i]);
}
});
};
// Controller Initialiser
vm.init = function() {
//
};
// Initialising Controller
vm.init();
}
这是我加载页面时在控制台中出现的错误:
错误:f.selected未定义 f.getPlaceholder@http://admin.xxxxxx.app/scripts/lazyload/select.min.js:7:9246 匿名/ FN @ http://admin.xxxxxx.app/scripts/vendors-eb9a79cc0c.js 第14544行&gt;功能:2:258 expressionInputWatch @ http://admin.xxxxxx.app/scripts/vendors-eb9a79cc0c.js:15673:31 $ RootScopeProvider /这$ gethttp://admin.xxxxxx.app/scripts/vendors-eb9a79cc0c.js:17216:34 $ RootScopeProvider /这$ gethttp://admin.xxxxxx.app/scripts/vendors-eb9a79cc0c.js:17491:13 勾选@ http://admin.xxxxxx.app/scripts/vendors-eb9a79cc0c.js:12451:25
供应商...... cc0c.js(第13647行)错误:f.selected未定义
我不知道造成这种情况的原因或解决方法。 我的angularjs版本是1.5.6 ui-router版本是0.3.1
不知道它是否与我的代码有关或与另一个插件冲突。
答案 0 :(得分:0)
不要发现它有什么问题。尝试用Ui-select 18.1在这里重现你的问题:Reproduction也许它是$ item组件(这对我有效)
<ui-select multiple ng-model="ctrl.address.selected" ng-disabled="disabled">
<ui-select-match placeholder="Select a person in the list or search his name/age...">{{$select.selected.name}}</ui-select-match>
<ui-select-choices repeat="person in ctrl.people | filter: $select.search">
<div ng-bind-html="person.name | highlight: $select.search"></div>
<small>
email: {{person.email}}
age: <span ng-bind-html="''+person.age | highlight: $select.search"></span>
</small>
</ui-select-choices>
根据错误,我认为它无法读取vm.form.roles
答案 1 :(得分:0)
我发现问题显然是你应该添加课程&#34; ui-select-choices&#34;和&#34; ui-select-match&#34;否则它就不会工作。