如何访问ng-tags-input中的剩余文本

时间:2014-08-21 21:31:16

标签: ng-tags-input

输入中的左侧文本是否以编程方式可访问?如果是这样,怎么样?

我只允许自动完成标记(用作搜索过滤器),并希望使用左侧文本作为附加关键字,这意味着我想知道它是否与任何内容绑定,因此我可以将其传递给搜索功能。

感谢您的帮助

1 个答案:

答案 0 :(得分:6)

这不是直接可能的,但是您可以通过使用帮助程序指令来破解指令并使其工作:

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;
    });
  };
});

现在,您可以通过执行以下操作将外部作用域中的某个变量绑定到内部输入:

<tags-input ng-model="tags" bind-internal-input-to="variable"></tags-input>

Working Plunker

请注意,此解决方案不能保证与未来版本的ngTagsInput一起使用,因为它依赖于内部实现细节。