【问题标题】:AngularJS render content in a textarea after a click eventAngularJS 在单击事件后在文本区域中呈现内容
【发布时间】:2013-05-14 23:50:58
【问题描述】:

我正在使用 Angular JS 尝试在单击链接以获取我的 controllers.js 中的一些内容后使用 $http 请求更新<textarea> 的值,如下所示:

$scope.setDocument = function(docId) {
  $http.get('docs/' + docId + '.json').success(function(data) {
    $scope.content = data.docData;
    console.log('setting document: ' + data.docData);
  });
}

日志语句显示正确的文档数据,但结果没有呈现在浏览器的文本区域中:

<textarea id="main-writer" ng-model="content" class="row-fluid" autofocus="true" cols="48" rows="24"></textarea>

我在这里错过了什么?

【问题讨论】:

标签: javascript angularjs textarea


【解决方案1】:

应该是ng-model="content" 而不是"docData"

编辑:你可能想做 $scope.$apply();设置新内容后。虽然我认为没有必要但值得一试。有一个很好的 Chrome 扩展来检查 AngularJS 范围和绑定。你可能想用它来看看发生了什么。

【讨论】:

  • 谢谢,我不确定发生了什么,但我的 setDocument 函数看起来没有绑定到范围。我会继续搞砸的。
  • 问题最终出现在我单击调用函数&lt;a href="#" ng-click="setDocument(doc.id)"&gt;Open&lt;/a&gt; 删除# 的链接中解决了问题。它在这里的文档中是这样说的:docs.angularjs.org/api/ng.directive:a
猜你喜欢
  • 2020-04-29
  • 2016-06-08
  • 2015-02-24
  • 1970-01-01
  • 2011-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-23
相关资源
最近更新 更多