如何获取模式定义的angularjs的值
我想获得用户更新的值,并将其粘贴到模式的文本区域中。但是它返回了如何获取模式定义的angularjs的值,angularjs,angularjs-scope,Angularjs,Angularjs Scope,我想获得用户更新的值,并将其粘贴到模式的文本区域中。但是它返回了未定义的。我弄不清原因。 这是代码 $scope.details=[]; $scope.addDetails=function() { $scope.details.push({ Title: $scope.Details_Title, meta_chars: $scope.Details_metaChars, version: $scope.Details_version,
未定义的。我弄不清原因。
这是代码
$scope.details=[];
$scope.addDetails=function() {
$scope.details.push({
Title: $scope.Details_Title,
meta_chars: $scope.Details_metaChars,
version: $scope.Details_version,
Auth_name: $scope.Details_AuthName,
copyRights: $scope.Details_copyRights
});
}
$scope.genrate_HTML=function() {
document.getElementById("createdHTML").value=$scope.details;
}
这是html
<div ng-controller="GenrateHTML">//name of the controller
<button ng-click="genrate_HTML();toggleModal()" class="btn btn-success btn-sm" id="btnGenerateHTML">Generate HTML </button>
<modal title="Enter Document Details" visible="showModal" >
<!--<div ng-controller="GenrateHTML">-->
<textarea contenteditable="true" type="text" id="createdHTML" name="HTML_content" placeholder="Title" style="margin-top:10px" class="form-control" ></textarea>
<button class="btn btn-success btn-sm" data-dismiss="modal" style="margin-top:10px;margin-left:520px;" ng-click=" savefile()">Save</button>
</modal>
</div>
//控制器的名称
生成HTML
拯救
toggleModal()
显示模式,savefile()
在本地计算机上保存文件,它们工作正常。但是我不知道为什么textarea返回未定义的
。我已经尝试了pop()
,value()
,它返回未定义的,据我所知,您试图拥有一个由用户更新的字段,在您的示例中是“textarea”,并且可以通过Javascript访问
如果是这种情况,那么正如Scott在中提到的问题注释之一,您可能会发现使用Angular的“ng model”标记属性将HTML字段绑定到to Angular控制器是有益的
这方面的一个例子显示在页面底部的AngularJS文档中。()
请注意,在示例中,它们使用$scope,但您可以轻松地在控制器内使用变量。为此,可以使用以下代码作为参考:
app.js
(function(angular) {
'use strict';
angular.module('getterSetterExample', [])
.controller('ExampleController', [function() {
//assuming there is a $scope.details that contains the necessary data
this.details = $scope.details
}]);
})(window.angular);
index.html
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Example - example-ngModel-getter-setter-production</title>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.0-rc.1/angular.min.js"></script>
<script src="app.js"></script>
</head>
<body ng-app="getterSetterExample">
<div ng-controller="ExampleController as exampleCtrl">
<form name="userForm">
<label>Name:
<input type="text" name="userName"
ng-model="exampleCtrl.details"
ng-model-options="{ getterSetter: true }" />
</label>
</form>
<pre>user.name = {{exampleCtrl.details}}</pre>
</div>
</body>
</html>
示例-示例ngModel getter setter产品
姓名:
user.name={{exampleCtrl.details}}
您没有在文本区域设置ng model,然后在生成HTML函数中使用该值,这是有原因的吗?我需要显示model$scope.details的值,该值是用户在此文本区域使用另一个函数更新的。所以我认为ng模型是不需要的,而且我会在后面的阶段输入不同模型的值。我被你们在这里尝试做的事情弄糊涂了。。。您似乎正在尝试将
的值分配给对象数组?是的,我正在尝试在文本区域中显示数组的值。很抱歉,用户已更新了“详细信息”数组。现在,我正在尝试在文本区域中打印该数组的内容。并且返回“未定义”。请查看上面所做的更改,看看是否符合您的需要。请注意“user.name={{{exampleCtrl.details}}”行。它应该随着详细信息的更新而更新。已尝试但不起作用。。我基本上希望“details”数组的内容显示在textarea中。在控制器中使用函数