带对象的数据绑定ng-model,但在字段

时间:2016-04-28 13:26:38

标签: angularjs asp.net-web-api angularjs-ng-model

我是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;
        });
    };

为了简化操作,projectLeaderprojectLeader.idprojectLeader.name

我正在尝试将完整的projectLeader对象绑定到input字段,但我希望input的值仅显示项目name。这有意义吗?当字段发生变化时,我将如何检索新的projectLeader?是否最好在该字段上执行ng-change调用另一个请求到服务器的请求,并输入名称以检索该人的id?然后修改范围?

1 个答案:

答案 0 :(得分:2)

不要将整个对象绑定到输入字段。仅将名称绑定到输入文本。不要使用ng-change,每次sompone更改输入字段时都会触发ng-change,因此每当用户按下键时,ng-change将触发保存数据的方法。而是按一个按钮提交,或者你可以在输入时按下。我会试着为你竖起一个小提琴。