如何编写表单模板来设置 ng-tags-input 的自动完成源?



我正在尝试编写一个自定义格式模板来使用ng-tags-input:

angular.module('myMod').run(function(formlyConfig) {
    formlyConfig.setType({
        name:'tag',
        template:"<label class='control-label' ng-if='to.label'>{{to.label}}</label>" +
        "<tags-input ng-model='model[options.key]' ng-attr-placeholder='{{to.placeholder}}'>" +
        "<auto-complete source='{{to.tags}}'></auto-complete></tags-input>"
                        ^^^^^^^^^^^^^^^^^^^
    });
})

其中to.tags指的是正式模板的templateOptions:

            templateOptions: {
                tags: 'dataModel.getProductTags()'

在此上下文中使用双括号会导致$parse错误。如何从to.tags的内容间接填充 source 属性?

我也试过ng-attr-source='to.tags',没有运气。

我怀疑我只是没有想到一些明显的东西。在方便和合理的情况下,请附上相关的参考资料。

解决方案是将函数,而不是函数的名称,放在templateOptions中,如下所示:

            templateOptions: {
                tags: dataModel.getProductTags

,在模板中,只需调用它:

<auto-complete source='to.tags()'>

这要求函数本身必须可以从形式模板访问,但在我的情况下,这不是问题。

相关内容

  • 没有找到相关文章