我遇到了一個我無法解決的惱人問題。 我使用AngularJs來顯示一系列卡片,每張卡片都有自己的下拉菜單。
代碼如下:
<div ng-repeat="feedback in feedbacks"
class="card">
<div class="cardMoreActionsButton">
<a class="dropdown-button"
dropdown
href="#"
data-activates="cardMoreActions{{feedback.FeedbackTrackerId}}">
<i class="material-icons grey-icon">more_vert</i>
</a>
<ul id="cardMoreActions{{feedback.FeedbackTrackerId}}"
class="dropdown-content">
<li>
<a ng-click="archiveFeedback(feedback.FeedbackTrackerId)">
Archive feedback
</a>
</li>
</ul>
</div>
Card content
</div>
當我運行代碼時,我得到:
錯誤:語法錯誤,無法識別的表達式:#cardMoreActions{{feedback。FeedbackTrackerId}}
在
<a class="dropdown-button" dropdown="" href="#" data-activates="cardMoreActions{{feedback.FeedbackTrackerId}}">
告訴元素激活對應id的表達式的正確寫法是什么? 在ng-repeat指令中使用materialize.css下拉菜單的正確方法是什么?
要完成請求,請在& quot下拉菜單& quot指示的
TK.directive('dropdown', function() {
return {
restrict: 'A',
link: function(scope, elem, attr) {
elem.dropdown();
},
}
});
謝謝大家!
編輯
我發現了這個問題,好像有關聯
創建使用數據激活屬性中的{{expression}}的自定義物化指令
正如這里所建議的,我已經嘗試在兩個屬性上都添加了ng-attr-前綴id & quot和& quot數據激活). 不幸的是,它對我不起作用。 這實際上消除了錯誤消息,但是下拉菜單不會顯示,即使& quot活動& quot類成功附加到下拉按鈕,下拉內容保持隱藏。 這是否與我的指令在ngRepeat指令中循環有關?
感謝任何人的幫助或反饋。
下面是編輯后的代碼,不幸的是,它仍然不工作
<div ng-repeat="feedback in feedbacks"
class="card">
<div class="cardMoreActionsButton">
<a class="dropdown-button"
dropdown
href="#"
ng-attr-data-activates="cardMoreActions{{feedback.FeedbackTrackerId}}">
<i class="material-icons grey-icon">more_vert</i>
</a>
<ul ng-attr-id="cardMoreActions{{feedback.FeedbackTrackerId}}"
class="dropdown-content">
<li>
<a ng-click="archiveFeedback(feedback.FeedbackTrackerId)">
Archive feedback
</a>
</li>
</ul>
</div>
Card content
</div>
cardMoreActions是一個函數我覺得所以你要改成cardMoreActions({{eedback。FeedbackTrackerId}})
我希望這對你有幫助。
這解決了問題
TK.directive('dropdown', function() {
return {
restrict: 'A',
link: function(scope, elem, attr) {
elem.ready(function(){
elem.dropdown();
});
},
}
});
上一篇c# json解遍歷
下一篇vue 視頻拼接圖片