ngTagsInput - 设置 onTagAdding 回调
ngTagsInput - Set onTagAdding callback
我正在尝试使用 tagsInputConfig
提供程序为 onTagAdding
回调设置默认函数。没有成功。
tagsInputConfig.setDefaults('tagsInput', {
placeholder: 'Search',
maxTags: 10,
minLength: 5,
maxLength: 40,
replaceSpacesWithDashes: false,
onTagAdding: function (x,y,z) {
debugger; // breakpoint is never called
}
});
所有其他默认选项均已正确设置,回调除外。另一方面,当我将它配置为 属性:
<tags-input on-tag-adding="onTagAdding($tag)" ng-model="search"></tags-input>
有没有办法为这个回调设置默认函数?
根据我从 documentation (tags-input.js && configuration.js) 中得知的信息,onTagAdding 似乎不是您可以指定的默认值。
根据源代码,这里是可直接从源代码中获得的完整列表(PS:第四个参数中对象的键是默认值):
tagsInputConfig.load('tagsInput', $scope, $attrs, {
template: [String, 'ngTagsInput/tag-item.html'],
type: [String, 'text', validateType],
placeholder: [String, 'Add a tag'],
tabindex: [Number, null],
removeTagSymbol: [String, String.fromCharCode(215)],
replaceSpacesWithDashes: [Boolean, true],
minLength: [Number, 3],
maxLength: [Number, MAX_SAFE_INTEGER],
addOnEnter: [Boolean, true],
addOnSpace: [Boolean, false],
addOnComma: [Boolean, true],
addOnBlur: [Boolean, true],
addOnPaste: [Boolean, false],
pasteSplitPattern: [RegExp, /,/],
allowedTagsPattern: [RegExp, /.+/],
enableEditingLastTag: [Boolean, false],
minTags: [Number, 0],
maxTags: [Number, MAX_SAFE_INTEGER],
displayProperty: [String, 'text'],
keyProperty: [String, ''],
allowLeftoverText: [Boolean, false],
addFromAutocompleteOnly: [Boolean, false],
spellcheck: [Boolean, true]
});
tl;博士
不可以,您不能为 onTagAdding 回调设置默认函数,但在他们的 github!!!
上提交可能是一个很好的问题
您可以将作用域中的任何函数定义为回调,这是一个示例
# test.html
<div ng-controller="MyCtrl">
<tags-input on-tag-adding="myFunction($tag)" ng-model="search"></tags-input>
</div>
并且在js文件中
angular.module('myModule').controller('MyCtrl', function($scope) {
$scope.myFunction = function($tag) {
console.log($tag);
return false;
};
});
希望对您有所帮助!
我正在尝试使用 tagsInputConfig
提供程序为 onTagAdding
回调设置默认函数。没有成功。
tagsInputConfig.setDefaults('tagsInput', {
placeholder: 'Search',
maxTags: 10,
minLength: 5,
maxLength: 40,
replaceSpacesWithDashes: false,
onTagAdding: function (x,y,z) {
debugger; // breakpoint is never called
}
});
所有其他默认选项均已正确设置,回调除外。另一方面,当我将它配置为 属性:
<tags-input on-tag-adding="onTagAdding($tag)" ng-model="search"></tags-input>
有没有办法为这个回调设置默认函数?
根据我从 documentation (tags-input.js && configuration.js) 中得知的信息,onTagAdding 似乎不是您可以指定的默认值。
根据源代码,这里是可直接从源代码中获得的完整列表(PS:第四个参数中对象的键是默认值):
tagsInputConfig.load('tagsInput', $scope, $attrs, {
template: [String, 'ngTagsInput/tag-item.html'],
type: [String, 'text', validateType],
placeholder: [String, 'Add a tag'],
tabindex: [Number, null],
removeTagSymbol: [String, String.fromCharCode(215)],
replaceSpacesWithDashes: [Boolean, true],
minLength: [Number, 3],
maxLength: [Number, MAX_SAFE_INTEGER],
addOnEnter: [Boolean, true],
addOnSpace: [Boolean, false],
addOnComma: [Boolean, true],
addOnBlur: [Boolean, true],
addOnPaste: [Boolean, false],
pasteSplitPattern: [RegExp, /,/],
allowedTagsPattern: [RegExp, /.+/],
enableEditingLastTag: [Boolean, false],
minTags: [Number, 0],
maxTags: [Number, MAX_SAFE_INTEGER],
displayProperty: [String, 'text'],
keyProperty: [String, ''],
allowLeftoverText: [Boolean, false],
addFromAutocompleteOnly: [Boolean, false],
spellcheck: [Boolean, true]
});
tl;博士
不可以,您不能为 onTagAdding 回调设置默认函数,但在他们的 github!!!
上提交可能是一个很好的问题您可以将作用域中的任何函数定义为回调,这是一个示例
# test.html
<div ng-controller="MyCtrl">
<tags-input on-tag-adding="myFunction($tag)" ng-model="search"></tags-input>
</div>
并且在js文件中
angular.module('myModule').controller('MyCtrl', function($scope) {
$scope.myFunction = function($tag) {
console.log($tag);
return false;
};
});
希望对您有所帮助!