【发布时间】:2016-10-14 07:07:43
【问题描述】:
我有以下 html 代码:
<div class="form-group">
<label class="col-md-4 control-label" for="newscontent">Article Contents</label>
<div class="col-xs-6" id="Update_1" >
<textarea class="form-control col-xs-12" id="newscontent" name="newscontent"></textarea>
</div>
</div>
并有一个以下角度脚本来将默认文本设置为文本区域上方
var app = angular.module('myApp',['ngRoute']);
app.controller('myCtrl', function($scope,$http,$log,$location,$compile) {
$scope.newstitle=$location.search().title;
$http({
method: 'GET',
url: '/loadnews/'+encodeURIComponent($scope.newstitle),
})
.then(function(response){
$scope.News=response.data;
$scope.img_url=$scope.News[0].image;
$scope.Newstitle=$scope.News[0].title;
$scope.NewsAuthor=$scope.News[0].author;
$scope.NewsContent=$scope.News[0].content;
$scope.ArticleDate=$scope.News[0].insertdate;
$scope.NewsImage=$scope.News[0].image;
$scope.NewsLocation=$scope.News[0].location;
angular.element(document.getElementById("newscontent")
.defaultValue=$scope.NewsContent);
}
在浏览器的控制台中,我可以看到文本值已从 $scope.newscontent 加载到 textarea->newscontent 但在实际浏览器 textarea 中不可见。 我还尝试将 ng-model 与 newscontent、$parent.newscontent、newscontent.text、myCtrl.newscontent 绑定strong> (在 div 标签中设置了 ng-controller),但所有这些方法都没有将默认数据(即 $scope.NewsContent)设置为 textarea->newscontent 。虽然 angular.element() 方法成功设置了默认数据,但在浏览器的实际文本区域中是不可见的。 请帮帮我
对于参考,这是与 ng-model 的快照,其中 textarea 似乎为空白 Image for text area with ng-model 并且使用角度元素方法,它看起来像有数据但没有在实际文本区域中呈现 Image for text area without ng-model
【问题讨论】:
-
你确定
response成功了吗? -
angular.element(document.getElementById("newscontent").value=$scope.NewsContent);会工作的。
-
使用 ng-model 代替 id。 ng-model 旨在放入表单元素内部,并具有双向数据绑定 ($scope --> view and view --> $scope)跨度>
-
@Sankar Raj 是的,我得到了来自 angular.element 方法的响应,但没有来自 ng-model。接收到的数据在文本区域中不可见。
标签: javascript html css angularjs