2

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

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

谢谢您的帮助

4

1 回答 1

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>

工作小插曲

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

于 2014-08-26T02:46:03.833 回答