我有一个div,我想从文本区域显示文本。如何将文本区域中的文本返回到angularjs中的div。我是angularjs的新手,不知道它是如何工作的。请帮忙。谢谢你
答案 0 :(得分:1)
<textarea data-ng-model="myModel"></textarea>
<div>{{ myModel }}</div>
我真的建议观看一些视频,因为这是angularjs的一个非常基本的概念
答案 1 :(得分:0)
正如@blaster所说,在控制器之间共享数据的一个好方法是使用Angular服务。
可以在这个小提琴中看到一个工作示例:http://jsfiddle.net/orlenko/5WhKW/
在这个例子中,我们定义了两个控制器:
<div ng-controller="SourceController">
<textarea ng-model="message" ng-change="propagate()"></textarea>
</div>
<div ng-controller="DestinationController">
<div>{{message}}</div>
</div>
SourceController将通过服务向DestinationController发送有关数据更改的通知。
该服务使用$rootScope.$broadcast
让世界知道它有更新:
myModule.factory('MessageSharing', function ($rootScope, $log) {
var share = {};
share.message = '';
share.broadcast = function (msg) {
$log.log('broadcasting ' + msg);
this.message = msg;
this.broadcastItem();
};
share.broadcastItem = function () {
$log.log('broadcasting this ' + this.message);
$rootScope.$broadcast('handleBroadcast');
};
return share;
});
我们的目标控制器将使用$on
订阅“handleBroadcast”事件:
function DestinationController($scope, $log, MessageSharing) {
$log.log('Initializing DestinationController');
$scope.message = '';
$scope.$on('handleBroadcast', function () {
$log.log('Got the message: ' + MessageSharing.message);
$scope.message = MessageSharing.message;
});
}
最后,SourceController将通过服务发布更新:
function SourceController($scope, $log, MessageSharing) {
$log.log('Initializing SourceController');
$scope.message = '';
$scope.propagate = function () {
$log.log('Propagating ' + $scope.message);
MessageSharing.broadcast($scope.message);
};
}