[英]angular-ui-router#1.0.11 fire jarvis.widget.js warns “It looks like your using a class instead of an ID, dont do that!”
我將SmartAdmin用於angular,最近我將Angular從1.4.12更新到angular v1.6.6,之后我發現當我在使用JarvisWidget的狀態之間進行切換時,這是JarvisWidgets的JavaScript庫(更具體地說,是319-325行)未壓縮的jarvis.widget.js)
/**
* Force users to use an id(it’s needed for the local storage).
**/
if (!$(‘#’ + self.objId).length) {
alert(‘It looks like your using a class instead of an ID, dont do that!’);
}
每次打開頁面時都會開始發出警報。 在不修改JarvisWidget庫的這一部分的情況下,如何避免在沒有JarvisWidgets的頁面上出現此警報? 為什么在我的情況下觸發此警報?
在適應新版本的angular-ui-router#1.0.11之前,臨時解決方案恢復為angular-ui-router#0.3.2,然后替換以下代碼:
// link function in directive in jarvisWidget.js
link: function(scope, element, attributes) {
if(element.data('widget-color'))
element.addClass('jarviswidget-color-' + element.data('widget-color'));
element.find('.widget-body').prepend('<div class="jarviswidget-editbox"><input class="form-control" type="text"></div>');
element.addClass('jarviswidget jarviswidget-sortable');
$rootScope.$emit('jarvisWidgetAdded', {widget: element, id: attributes.id });
}
// Body of the jarvisWidgetAdded listener function in widgetGrid.js:
var widget = widgetPackage.widget;
var widgetId = widgetPackage.id;
if (widgetIds.indexOf(widgetId) == -1) {
widgetIds.push(widgetId);
$timeout(function () {
setupWidgets(element, widgetIds)
}, 100);
}
請編寫其他解決方案!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.