为什么我的文本框不显示来自AngularJS控制器的数据

时间:2019-01-09 01:47:58

标签: javascript jquery html angularjs

在我的应用程序中,我可以使用console.log验证是否选择了正确的信息,但是尝试在表单文本框中显示此信息无效。有人可以告诉我我在做什么错吗?

这是我视图的HTML。

<table class="table table-stripped table-hover">
    <thead>
        <tr>
            <th>ID</th>
            <th>Title</th>
        </tr>
    </thead>
    <tbody>
        <tr data-ng-repeat="organization in organizations | filter:search" data-ng-click="navToEdit($index)">
            <td>{{organization.Id}}</td>
            <td>{{organization.Title}}</td>
        </tr>
    </tbody>
</table>

在此单击列表中的项目将带您进入。

<div class="form-group">
    <label for="txtTitle">Title:</label>
    <input type="text" type="text" id="txtTitle" class="form-control" data-ng-model="organization.Title" />
</div>

这是我的控制者。

app.controller("organizationsCtrl", ["$scope", "$location", "$routeParams", "spService",    
    function ($scope, $location, $routeParams, spService) {    
        var listTitle = "Organizations";    
    
        $scope.editing = false;    
    
        //example populating Organizations    
        spService.getRecords(listTitle, "?$select=ID,Title").then(function (result) {    
            $scope.organizations = result;    
        });    
    
        $scope.navToAdd = function() {    
            $location.path("/organizations/add");    
        }    
    
        $scope.navToEdit = function(index) {    
            $scope.organization = $scope.organizations[index];    
            $location.path("/organizations/" + index);    
            console.log($scope.organization.Title);   
        }    
    }    
]);   

$ scope.navToEdit确实输出正确的组织,但是txtTitle的文本框未显示任何内容。

请帮助!

1 个答案:

答案 0 :(得分:0)

如我所见,这里的问题是您正在重定向到此处的另一个页面,

$location.path("/organizations/" + index);

如果您要将数据从一页转移到另一个使用服务或localStorage,将清除控制器中的现有作用域。