标记角度和节点中的实现

时间:2017-03-17 13:21:13

标签: javascript html angularjs

我想在发布问题时实现像这里的标签。 我使用的是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;

谢谢

1 个答案:

答案 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)