输入中的剩余文本可以通过编程访问吗?如果是这样,怎么办?

我只允许使用自动完成功能中的标签(用作搜索过滤器),并且希望将剩余的文本用作其他关键字,这意味着我想知道它是否绑定(bind)到任何东西,因此可以将其传递给搜索功能。

谢谢您的帮助

最佳答案

这不是直接可能的,但是您可以使用helper指令来破解该指令并使其工作:

app.directive('bindInternalInputTo', function() {
  return function(scope, element, attrs) {
    var property = attrs.bindInternalInputTo,
        input = element.find('input'),
        inputScope = input.scope();

    inputScope.$watch('newTag.text', function(value) {
      scope[property] = value;
    });
  };
});

现在,您可以通过执行以下操作将外部作用域中的某些变量绑定(bind)到内部输入:
<tags-input ng-model="tags" bind-internal-input-to="variable"></tags-input>

Working Plunker

请注意,由于该解决方案依赖于内部实现的详细信息,因此不能保证该解决方案可以与ngTagsInput的将来版本一起使用。

10-05 20:50
查看更多