我正在使用AngularJS,並且遇到問題。我有$監視控制器:知道何時在控制器中呈現DOM
function MyController() {
$watch('myModel', function() {
$rootScope.$emit('do-oper');
});
}
'myModel'也通過綁定更改我的DOM。
在指示我:
$rootScope.$on('do-oper', function() {
// Do DOM manipulation
});
的問題是,在發射的時間「做-OPER」,DOM是不與更新「基於myModel」渲染。如何在DOM呈現後觸發DOM操作?
是這樣的情況。你有一個指令,需要一個模型(myModel是這種情況)並呈現一個dom元素。你想觀察模型中的任何改變,以通過你的指令重新呈現內容嗎? – Anand
我不認爲直接操縱DOM是使用像角度的MVC結構的好主意。你違背了這個模式。在MVC中,視圖應儘可能被動,監聽模型更改以相應更新,不應直接通過代碼更新視圖。控制器內部的代碼也不應該關心渲染視圖的時間。 –