我已经在这里阅读了一些关于这个主题的帖子,但我看到的所有答案和所有小提琴都没有正常工作。我让我的plunkr从动态生成的字段绑定单向,通过指令隔离范围内的ng-model绑定到父表单中的形式。但是不会从表单绑定到指令。我的初始值被忽略了,我在父范围内所做的更改也是如此,我真的想要一个解决方案。这是一段代码片段。
<div ng-repeat="field in fields">
<app-field field="field" ng-model="selected[field.name]" form="form"></app-field>
</div>
...
.directive("appField", function($http, $compile) {
return {
restrict: "AE",
scope: {
field: "=",
ngModel: "=",
form: "="
},
link: function($scope, element, attrs) {
$http.get("field.html").then(function (result) {
element.html(result.data);
$compile(element.contents())($scope);
});
}
}
})
这是我的小提琴:http://plnkr.co/edit/ZzC4jS9M9Ev5i6gxUVxB?p=preview
任何帮助都将不胜感激。
答案 0 :(得分:1)
该属性为scope
,而非$scope
。然后,删除scope:false
,您就完成了!
此外,您可以使用templateUrl
属性而不是link
(在这种情况下):
.directive("appField", function($http, $compile) {
return {
restrict: "AE",
scope: {
field: "=",
ngModel: "=",
form: "="
},
templateUrl: 'field.html'
}
})