我的指令中有这个链接功能:
link: function (scope) {
scope.search = function () {
PessoaService.search(scope.filter, ['nome']).then(function (result) {
scope.firstList = result.values;
})
}
scope.add = function (pessoa) {
var index = this.indexOf(pessoa);
scope.secondList = scope.secondList || [];
scope.secondList.push(pessoa);
}
scope.remove = function (pessoa) {
var index = this.indexOf(pessoa);
scope.secondList.splice(index, 1);
}
scope.indexOf = function (pessoa) {
scope.secondList = scope.secondList || [];
var secondlistAux = scope.secondList;
for (var i = 0; i < secondlistAux.length; i++) {
if (secondlistAux[i].id === pessoa.id) {
return i;
}
}
return -1;
}
scope.contains = function (pessoa) {
return this.indexOf(pessoa) >= 0
}
}
如何调用函数scope.search()以便初始化数组?因为在输入内容之前我无法看到数组!谢谢:))
答案 0 :(得分:0)
在方法之外初始化变量。
link: function (scope) {
scope.firstList = scope.firstList || [];
scope.secondList = scope.secondList || [];
scope.search = function () {
PessoaService.search(scope.filter, ['nome']).then(function (result) {
scope.firstList = result.values;
})
}
scope.add = function (pessoa) {
var index = this.indexOf(pessoa);
scope.secondList.push(pessoa);
}
scope.remove = function (pessoa) {
var index = this.indexOf(pessoa);
scope.secondList.splice(index, 1);
}
scope.indexOf = function (pessoa) {
var secondlistAux = scope.secondList;
for (var i = 0; i < secondlistAux.length; i++) {
if (secondlistAux[i].id === pessoa.id) {
return i;
}
}
return -1;
}
scope.contains = function (pessoa) {
return this.indexOf(pessoa) >= 0
}
}
<强>更新强>
您可以在scope.search()
函数的末尾调用link
..
link: function (scope) {
/*all the code you have here*/
// and at the end
scope.search();
}