4

我将 textAngular Wysiwyg/Text-Editor 与@mentio 库一起使用,当我使用指令不止一个的 html 页面时,它会导致问题。我尝试使用上下文编辑器进行提及 id 仍然无法解决问题

<mentio-menu mentio-for="'content-editor-{{$id}}'"
         mentio-trigger-char="'@'"
         mentio-items="people"
         mentio-template-url="/iterator.tpl"
         mentio-search="searchPeople(term)"
         mentio-select="getPeopleText(item)">

var directiveDefinitionObject = {
        restrict: 'E',
        templateUrl: "app/partials/textAngular-mention-template/replyTextAngularWithMentio.html",
        require: '^ngModel',
        scope: {
            ngModel: '='
        },
        controller: ['$scope', function ($scope) {
                $scope.setup = function (element) {
                    element.attr('mentio', 'mentio');
                    element.attr('mentio-typed-term', 'typedTerm');
                    element.attr('mentio-require-leading-space', 'true');
                    element.attr('mentio-id', "'content-editor-{{$id}}'");
                };
4

1 回答 1

1

我解决这个问题的方法是编写一个函数来返回mentio-for 值。

<mentio-menu mentio-for="getContentId()"
     mentio-trigger-char="'@'"
     mentio-items="people"
     mentio-template-url="/iterator.tpl"
     mentio-search="searchPeople(term)"
     mentio-select="getPeopleText(item)">

然后,在你的指令上,创建一个这样的函数:

$scope.getContentId = function() {
                return 'content-editor-' + $scope.id;
            };
于 2017-01-12T16:02:44.833 回答