0
還試圖圍繞如何正確做角度的事情。所以我有一個這樣的指令Angularjs指令vs範圍指定的行爲
<div my-directive>
<input type="button" value="Click" />
<div id="someElementToRemove"></div>
</div>
我想分配一個onlick監聽器到輸入按鈕。這個輸入按鈕操縱DOM,刪除指令模板內的一些元素。所以我的問題是我應該在哪裏指定這種行爲。我知道控制器不應該有任何DOM操作邏輯,所以我會爲此功能創建一個指令?
例如,
... ...
我的指令
app.directives.directive('removeElement', function() {
//logic to remove element
}
我只是想知道,如果這樣的小事功能權證指令。或者,我應該通過document.getElementById('button')。addEventListener ...指定一個onclick處理程序....
理想情況下,我只想爲該按鈕指定一個ng-click元素,並在像這樣的控制器。這似乎是最簡單的方法。
...
<input type="button" value="Click" ng-click="removeSomeElement()"/>
...
controller.js
...
$scope.removeSomeElement() = function() {
...
}
感謝Derek,在我的情況下,功能是一次性的,並不意味着可重用。就操縱控制器中的數據而言......這意味着要在該指令中添加$ watch,對嗎?再次感謝。 – Apples
沒問題。我不確定你是如何設置的,但你不需要$ watch電話。你應該能夠擁有一些等於true的範圍布爾值。當您單擊輸入按鈕時,將布爾值設置爲false。然後在你想刪除的元素上使用布爾型的ng-if指令,如下所示: –
DerekR
好的,我沒有考慮使用ng-if。我知道這是最近的一個功能。我想知道如何在ng-if之前完成這個工作。我有足夠的信息來做我想做的事情。似乎有太多的選擇。謝謝 – Apples