附加Html代码中的Angular ng-model不起作用
Angular ng-model in appended Html code not working
这是我的代码。在这里,我动态地在按钮点击上添加html。但是我给出的ng模型不起作用。
有人能解决我的问题吗
$scope.addParam = function(selected) {
if (selected == "bucket_policy_privacy_status") {
var myElement = angular.element(document.querySelector('#inputParameters'));
myElement.append('<input type="text" style="width:220px" class="form-control" name="" disabled="" value=' + selected + '> <select class="form-control" style="width:196px" ng-model="fields.privacyStatus" ><option value="range">Range</option><option value="public">Public</option><option value="private">Private</option></select> <br><br>');
$scope.$watch('fields.privacyStatus', function() {
var privacy_status = $scope.fields.privacyStatus;
alert();
var status = {
"term": {}
}
status.term[selected] = privacy_status;
output.push(status);
});
$('#params option[value="bucket_policy_privacy_status"]').remove();
$scope.input.select = "bucket_owner";
}
};
您需要更改以下内容:
在动态插入HTML时,你需要使用angular的$compile
选项来计算angular的属性/表达式。
在将元素添加到DOM之后添加下面的行应该可以达到目的:
$compile(angular.element('.form-control'))($scope);
它基本上只是让angular知道有一些新的东西它应该评估并开始观察。
(不要忘记在模块依赖项中添加$compile)。
除此之外,我假设你实际上已经在你的$scope
上添加了一个名为fields
的对象?
您可以做的另一件事是在表单上使用ng-change而不是使用$watch。绑定在ng-change上的函数将在每次表单中的一个选择更改时调用。
要进一步阅读,请查看以下内容:https://docs.angularjs.org/api/ng/service/编译美元
我认为这是行不通的,你只添加了dom,这就是全部,没有绑定。一种方法是创建一个指令来做这件事,或者在模板中添加"ng-hidden"的输入,然后点击show。
相关文章:
- Angular ng-model 将数据作为数组发送到 rails-api
- 如何将计算值绑定到 Angular 中的 ng-model 字段.js以便我可以使用 Ruby on Rails 将完整
- Angular JS如何将值从rootscope传递到ng-model
- Angular 1.3 getter setter ng-model
- 在Angular Smart Table中选择st search not working with ng model
- Angular$scope$注意仅从表单(ng-model指令)更改的变量
- 如何将ng-model / $scope与Angular Factory和Controller一起使用
- angular.js - update `ng-model` with text.value
- 连接到ng-model的Angular数组值
- Angular将解析对象传递给Ng-Model
- 附加Html代码中的Angular ng-model不起作用
- 当jquery属性选中复选框时,Angular ng-model不更新
- 访问Angular中通过隔离作用域创建的ng-model
- 如何创建一个使用ng-model的angular数据提取器指令
- 在Angular JS中恢复ng-model值
- Angular无法从json中访问ng-model
- Angular ng-model with required
- 为同一个页面中的多个表单处理Angular ng-model
- Angular ng-model的值没有在提交时注册
- 从嵌套的ng-repeat绑定的Angular ng-model