我正在使用AngularJS,並且我有一個索引頁,在此頁面中我有一個<div ui-view></div>
。 當我鍵入一些url例如#/offers/new
我打電話給一個頁面,例如new-offer.html
這將被注入ui-view
。在視圖中執行javascript代碼
而我有一個javascript代碼塊,我打電話給index.html
頁面,在這個javascript代碼中,我想要做一些html處理,我想處理的html代碼在`new-offer.html頁面中。
所以這裏是發生了什麼,當我加載index.html
它執行JavaScript代碼不找到HTML代碼中的index.html的處理,然後當我打電話#/offers/new
的new-offer.html
將注入什麼都不會發生。
這是我的index.html:
<!doctype html>
<html>
...
<div ui-view></div>
... Code
... Other scripts
<script src="scripts/app.js"></script>
<!--TEXT EDITOR JS-->
<script src="scripts/js/editor.js"></script>
</body>
</html>
,這是new-offer.html
:
... Code
<div class="col-md-12">
<div class="text-editor-box">
<textarea class="txtEditor"></textarea>
</div>
</div>
... Code
,這是我在index.html
調用腳本,我想,當我把它稱爲被執行#/offers/new
:
//TEXT EDITOR
if ($('.txtEditor').length) {
$(".txtEditor").Editor();
}
不是t這裏無論如何解決這個問題,而無需調用new-offer.html
頁面內的JavaScript代碼?我的意思是不執行該JavaScript代碼,直到我將new-offer.html
中的html代碼注入index.html
。
編輯1:
我試圖用指令如下:
在app.js:
.directive('textEditordir', function() {
return {
template: '<div class="text-editor-box"><textarea class="txtEditor"></textarea></div>'
};
});
和new-offer.html
:
<div text-editordir></div>
但儘管如此,該javascript代碼無效
你沒有提到的代碼做什麼,但總的來講創建指令 - 如果你想要在AngularJS中使用DOM,你應該使用指令。請閱讀此處:https://docs.angularjs.org/guide/directive – AdirAmsalem
@AdirAmsalem請檢查我所做的修改 –
通常,JQuery可以開箱即用。嘗試angular.element來創建自己的DOM操作。 https://docs.angularjs.org/api/ng/directive/ngJq https://docs.angularjs.org/api/ng/function/angular.element你正在嘗試的可能不是直接可能的。嘗試在路由,配置定義指令或備用方法 – Gary