我正在查看 angularjs,目前我正在创建一个 html 表单来更新数据库中的对象。
<input type="text" ng-model="folder.title" name="title" size="30" required>
当包含表单的页面加载该字段时,有一个红色边框,这是因为必需的标签。
我有一个控制器,它从休息服务获取对象并绑定到范围内的“文件夹”对象:
$scope.master = Folder.get({
folderId : $routeParams.folderId
}, function() {
$scope.reset();
});
$scope.reset = function() {
$scope.folder = angular.copy($scope.master);
};
这很好用。唯一的问题是,当我在浏览器中加载页面时,浏览器认为表单字段无效并显示红色边框。不到一秒后,文件夹对象从 REST 服务返回并绑定到 $scope.folder。现在表单域的边框从红色变为白色,因为它现在是有效的。
如何确保在显示表单之前将文件夹对象加载到范围内?
我确实使用 ngroute 来决定将显示哪个视图:
myApp.config([ '$routeProvider', function($routeProvider) {
$routeProvider.when('/folders', {
...
}).when('/folders/:folderId', {
templateUrl : 'partials/folder-details.html',
controller : 'FolderDetailCtrl'
}).otherwise({
redirectTo : '/folders'
});
} ]);