【发布时间】:2016-12-27 09:10:14
【问题描述】:
因为this thread中的以下引用
最好的做法是永远不要使用 JQuery 或 angular.element() 在控制器内进行 DOM 操作。控制器仅用于我们的业务逻辑。
我已将一个调用 CodeMirror 和 JQuery 的大函数移到控制器外部。 big函数用于合并两个textarea的内容。 JSBin
HTML:
<div ng-app="myApp" ng-controller="myCtrl">
<textarea ng-model="area1">area1</textarea>
<textarea ng-model="area2">area2</textarea>
<div>First: {{area1}}, {{area2}}</div>
<div id="output"></div>
<script>
function bigfunction(area1, area2) {
// a big function, the following is for the sake of simplicity
return "Second: " + area1 + ", " + area2
}
var output = bigfunction({{area1}}, {{area2}});
$("#output").html(output)
</script>
</div>
Javascript:
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.area1 = "initial textarea1";
$scope.area2 = "initial textarea2"
});
有谁知道为什么脚本中的{{area1}} 和{{area2}} 无法识别?
【问题讨论】:
-
我认为你不能在javascript中使用
bigfunction({{area1}}, {{area2}})。 -
$("#output").html({{area1}})在脚本中也不起作用... -
是的。检查下面的答案。我认为这会对你有所帮助。