Javascript AngularJS-双向绑定指令,接受可变数量的参数?
我正在开发一个内联编辑器指令,它将大量参数封装到一个大对象中,以保持整洁。到目前为止,我在父范围中有以下内容:Javascript AngularJS-双向绑定指令,接受可变数量的参数?,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我正在开发一个内联编辑器指令,它将大量参数封装到一个大对象中,以保持整洁。到目前为止,我在父范围中有以下内容: $scope.inlineEditParams = { rendererUrl: null, content: { body: { selector: "#content-body", value: $scope.content.body } } }; 这就是我在模板中注入指令
$scope.inlineEditParams = {
rendererUrl: null,
content: {
body: {
selector: "#content-body",
value: $scope.content.body
}
}
};
这就是我在模板中注入指令的方式:
<div inline-edit params="inlineEditParams"></div>
因此,对inlineEditParams对象的更改显然反映在指令和父控制器中。但是,如何在父$scope.content.body和inlineEditParams.content.body值之间进行双向绑定,以便父控制器或指令的更改将立即反映在两者上?我不想传入父$scope.content,因为该指令要求参数以特定的方式格式化。我认为在该指令中,您可以使用watchCollection方法监视参数的更改。我知道我可以$watch监视所有内容,但这感觉像是一种黑客行为。基本上,我想说的是,在父作用域$scope.content.body==$scope.inlineEditParams.content.body.value上,让它们在两个方向上相互绑定。我没有尝试过这个方法,但我认为它会起作用。我假设父$scope.content.body是一个基本类型的字符串。您能否尝试将其更改为object,然后将其指定给指令参数?它应该可以进行双向绑定$scope.inlineEditParams.content=
scope: {
params: '='
}