2014-09-04 71 views
0

我想在我的項目中使用ment-io從http://jeff-collins.github.io/ment.io/#/examples.i已經實現了這個約100%,但這不能適用於此。如何在mentio textarea的DIV添加ID動態如何在mentio textarea div中動態添加id

我的代碼:

<div contenteditable mentio 
         mentio-typed-term="typedTerm" 
         mentio-macros="macros" 
         mentio-require-leading-space="true" 
         class="editor form-control" 
         id="htmlContent{{index}}" 
         ng-model="htmlContent"> 
        </div> 
        <mentio-menu 
          mentio-for="'htmlContent'" 
          mentio-trigger-char="'@'" 
          mentio-items="people" 
          mentio-search="searchPeople(term)" 
          mentio-select="getPeopleText(item)" 
          ></mentio-menu> 

回答

1

問題是,當使用其中包含表達式的id時,在menito-menu指令嘗試定位元素時,它不會解決。解決此問題的一種方法是使用等待表達式解決的mentio-menu上的ng-if

http://plnkr.co/edit/BUjixoaGZ8f54ZTv84bh?p=preview

<body ng-app="app" ng-controller="testCtrl"> 
    <div contenteditable 
     mentio 
     mentio-typed-term="typedTerm" 
     mentio-require-leading-space="true" 
     class="editor form-control" 
     id="{{'htmlContent' + index}}" 
     ng-model="htmlContent"> 
    </div> 
    <mentio-menu ng-if="index" 
     mentio-for="'htmlContent' + index" 
     mentio-trigger-char="'@'" 
     mentio-items="people" 
     mentio-search="searchPeople(term)" 
     mentio-select="getPeopleText(item)"> 
    </mentio-menu> 
</body> 

或者,如果你想這樣做在ng-repeat你可以做這樣的事情:

http://plnkr.co/edit/JslXZ4ETZa3qFZyPMbAK?p=preview

<div ng-repeat="item in items"> 
    <div contenteditable 
     mentio 
     mentio-typed-term="typedTerm" 
     mentio-require-leading-space="true" 
     class="editor form-control" 
     id="{{'htmlContent' + $index}}" 
     ng-model="htmlContent"> 
    </div> 
    <mentio-menu ng-if="item" 
     mentio-for="'htmlContent' + $index" 
     mentio-trigger-char="'@'" 
     mentio-items="people" 
     mentio-search="searchPeople(term)" 
     mentio-select="getPeopleText(item)" 
    ></mentio-menu> 
</div> 
0

您可以直接編輯通過指令中的元素的ID上,您只需添加上了「ELEM」的ID收到的參數(鏈接階段)。 確保mentio菜單在您的指令編譯(指令優先級:...)後觸發其init。

+0

我只想使用該變量像{{指數}},而不是靜態 – 2014-09-05 04:04:15

+0

的錯誤occure錯誤:triggerCharSet是未定義 – 2014-09-05 11:32:42

1

元素的ID是必經之路在外部指定時,將mentio指令連接到它的菜單。如果你只有一個觸發字符,你可以解決這個問題的一種方法就是將mentio-items,mentio-search和mentio-select選到div上。如果您有多個觸發字符,則需要單獨的規範。

1

僅供參考 - 發佈了一個新版本的ment-io:0.9.12,它允許您使用mentio-id字段指定mentio的ID。該屬性可以包含{{'htmlContent'+ index}},並且可以在不需要ng-if的情況下進行適當的評估。有關文檔中的詳細信息,請參閱ment.io項目。

http://jeff-collins.github.io/ment.io/#/documentation