我想在发布问题时实现像这里的标签。 我使用的是html,angular和node.js
我希望每次用户都会在数据库中编写一个标签,以便查看标签是否存在,如果不存在,那么无论如何都要让他写一个新标签。
客户端
所以这是我在html文件中的输入
<label for="pwd">Tags:</label>
<input type="text" class="form-control" id="pwd" ng-model="Tags" name="Tags[]">
这是我的控制器中写的内容
mymedical.controller('insertPersonalCtrl',['$scope','$http',function($scope,$http){
$scope.createPersonalData = function(){
var data = {};
data.email = $scope.email;
data.Tags[] = $scope.Tags[];
data.title = $scope.title;
data.Info = $scope.Info;
data.Category = $scope.Category;
data.file = $scope.file;
data.Recommendation = $scope.Recommendation;
}
}]);
但我需要它将所有单词作为字符串数组插入,现在它只有一个字符串... 我需要用密钥空间来区分。 &#39;
谢谢
答案 0 :(得分:0)
这是比AngularJS更多的Javascript。
您所要做的只是split
string
来自<input type="text"
data.tags.split(' ')
data.tags.split(' ').forEach((tag) => {
// Do something.
});
然后查询API上的每一个(输入更改或表单提交),就像您对其他调用一样。
class Test<T, TResult> {
methodToRun: (data?: T) => TResult;
constructor(methodToRun: (data?: T)=>TResult){
this.methodToRun = methodToRun;
}
call(data: T) {
// do some stuff, then...
return data === undefined ? this.methodToRun(data) : this.methodToRun();
}
}
const test = new Test(function(data: string){
return 1;
});
test.call("");
test.call(); // should be a signature error (currently is)
const test2 = new Test(function(data: number){
return 1;
});
test2.call(1);
const test3 = new Test(function(data: {foo: string, bar: number}){
return 1;
});
test3.call({foo: "", bar: 1});
const test4 = new Test(function(){
return 1;
});
test4.call(); // should be allowed (currently errors "Supplied Paramaters do not match any signature of call target")
test4.call({}); // should not be allowed (currently is)