Ketan的回答是對的,我想補充一下你爲什麼想要孩子的元素?您通常不直接從控制器操作HTML,但您應該更新您的$ scope的數據,這些數據可以驅動頁面上的更改。只要在一個普通的舊控制器中舉一個例子,我們並不關心element
,而是關於範圍的數據。
這個簡單的例子將更新textarea當按鈕被點擊時,顯示另一個div。並將項目添加到items數組。使用jQuery我們會被操縱通過JavaScript像$(el).val()
和$(el).find()
等的DOM,但在一個角控制器,我們不擔心DOM,只有數據:
演示:http://plnkr.co/edit/aL6p09DrQsUotu7vnceZ
app.controller('MainCtrl', function($scope) {
$scope.message = "Some data";
$scope.testMethod = function() {
$scope.items.stuff.push($scope.message);
$scope.clicked = true;
$scope.message = $scope.message + ' you clicked me.';
}
$scope.items = {stuff:['one', 'two', 'three'],id:1,name:'yeah'}
});
<body ng-controller="MainCtrl">
<div id="container" ng-form>
<textarea name="message" ng-model="message"></textarea>
<button value="send" ng-click="testMethod()">Send</button>
</div>
<div ng-show="clicked">
I was clicked
</div>
<h2>{{items.name}}</h2>
<div ng-repeat='item in items.stuff'>
{{item}}
</div>
</body>
的上面是以控制器爲中心的,頁面上的操作元素是指令的角度的一部分,沒有更多關於你想要實現的內容的信息(它是否獲得表單輸入值?)很難指出你的確切方向這個特殊的問題。
感謝喲的解釋,有可能得到一個例子嗎?我一整天都在盯着我的監視器(我和Angular纔剛剛見過)。具體來說,我只是試圖創建一個簡單的「類似提交」的東西,試圖獲取textarea的內容(有很多像它在列表中(想想:messenger),沒有任何創建WITH角) – RedactedProfile 2013-05-10 21:13:34
有一個Zippy示例(基本)本頁面http://docs.angularjs.org/guide/directive – Ketan 2013-05-10 23:31:58
有關Angular的事情需要一段時間才能掌握模式和術語。一旦你這樣做了,一切都變得有意義,而且更容易。即使你一次不消化所有東西,我也會從上到下閱讀他們網站上的指南。特別是「指令」,「服務」,「範圍」,「過濾器」。 – Ketan 2013-05-10 23:35:14