【发布时间】:2015-07-31 08:07:37
【问题描述】:
我有一个像这样的简单 html 表单
<div ng-app="app">
<form action="" ng-controller="testController" id="parent">
</form>
</div>
现在我想从 javascript 添加一个输入字段
var app = angular.module('app',[]);
app.controller('testController',testController);
function testController($scope){
var input = document.createElement('input');
var form = document.getElementById('parent');
input.setAttribute("type","number");
input.setAttribute("id","testId");
input.setAttribute("name", "test");
input.setAttribute("ng-model","test");
form.appendChild(input);
}
输入字段也按预期生成
<input type="number" id="testId" name="test" ng-model="test">
但此输入字段和$scope.test 之间的 ng-model 不起作用。
【问题讨论】:
-
在控制器中进行dom操作是错误的做法...您需要使用
$compile服务编译新元素 -
使用指令进行 DOM 操作和编译
标签: javascript angularjs angular-ngmodel