angularjs中的标签

时间:2015-11-25 05:56:04

标签: javascript angularjs loopbackjs

我使用AngularJs作为我的前端,使用Loopback作为我的后端API。我正在尝试将hashtag(#)功能添加到我正在处理的webapp中。我的字符串是$scope.postText。我需要将所有以'#'开头的单词分开。 请建议我做到最好。在键入自己(如facebook)时,用标签标记词语会很高兴。如果你知道如何做这件事,请告诉我。

提前致谢。

4 个答案:

答案 0 :(得分:0)

使用可以为此创建过滤器 -

angular.module('app', [])
    .filter('split', function() {
        return function(input, char, index) {

            return input.split(char)[index];
        }
    });

{{input | split:'#':0}}

玩得开心!! !!

答案 1 :(得分:0)

  var re = /(?:^|\W)#(\w+)(?!\w)/g, match1, matches1 = [];
while (match1 = re.exec($scope.postText))
{
  matches1.push(match1[1]);
              }

这对我有用。

答案 2 :(得分:0)

为了突出显示主题标签,就像你输入facebook一样: https://github.com/sujeet100/ngHashtags

答案 3 :(得分:0)

正如Tom在评论部分所指出的那样,你可以编写一个使用" split"像这样的方法:

function octothorpSplitter(hashtagString) {

  var res = hashtagString.split('#');

  res.shift(); //gets rid of unnecessary first element

  return res;

}

octothorpSplitter("#OneString#2ndStringWithNumbers#3rdWith$pecialCharacters!");

//result: [ 'OneString',  '2ndStringWithNumbers',  '3rdWith$pecialCharacters!' ]

只需传入您自己的变量 - $scope.postText - 而不是。