数据绑定 ng-model 与对象但在字段中显示值
Data-binding ng-model with object but display a value in field
我是 AngularJS 的新手,我正在努力思考某个概念。我已经想出如何成功地执行单向数据绑定,但仍然想不出对复杂对象执行双向绑定的最佳方法。
HTML
<input type="text" placeholder="Project Lead" ng-model="currentproject.projectLeader.name" />
JS
$scope.ViewProject = function (project) {
$http.get('api/projects/' + project.id)
.success(function (data) {
$scope.currentproject = data;
})
.error(function (error) {
$scope.status = 'Unable to load selected project data: ' + error.message;
});
};
为简化起见,projectLeader
有 projectLeader.id
和 projectLeader.name
。
我正在尝试将完整的 projectLeader
对象绑定到 input
字段,但我希望 input
的值仅显示项目 name
。这有意义吗?当字段更改时,我将如何检索新的 projectLeader
?最好在该字段上执行 ng-change
调用另一个请求到服务器并输入名称以检索该人的 id
吗?然后修改作用域?
不要将整个对象绑定到输入字段。仅将名称绑定到输入文本。不要使用 ng-change,每次 sonpone 更改输入字段时都会触发 ng-change,因此只要用户按下某个键,ng-change 就会触发保存数据的方法。而是放置一个按钮来提交,或者您可以在按下回车键时进行。我会尽力为您提供一个fiddle。
我是 AngularJS 的新手,我正在努力思考某个概念。我已经想出如何成功地执行单向数据绑定,但仍然想不出对复杂对象执行双向绑定的最佳方法。
HTML
<input type="text" placeholder="Project Lead" ng-model="currentproject.projectLeader.name" />
JS
$scope.ViewProject = function (project) {
$http.get('api/projects/' + project.id)
.success(function (data) {
$scope.currentproject = data;
})
.error(function (error) {
$scope.status = 'Unable to load selected project data: ' + error.message;
});
};
为简化起见,projectLeader
有 projectLeader.id
和 projectLeader.name
。
我正在尝试将完整的 projectLeader
对象绑定到 input
字段,但我希望 input
的值仅显示项目 name
。这有意义吗?当字段更改时,我将如何检索新的 projectLeader
?最好在该字段上执行 ng-change
调用另一个请求到服务器并输入名称以检索该人的 id
吗?然后修改作用域?
不要将整个对象绑定到输入字段。仅将名称绑定到输入文本。不要使用 ng-change,每次 sonpone 更改输入字段时都会触发 ng-change,因此只要用户按下某个键,ng-change 就会触发保存数据的方法。而是放置一个按钮来提交,或者您可以在按下回车键时进行。我会尽力为您提供一个fiddle。