0

名、姓、フルネームを持つ person というスコープ モデルがあります。私のgoQueryはこれで動作します:

$scope.person = $goQuery('person', { userName: $scope.person.findme }, { sort: { 'userName': 'asc' }, limit: 1 }).$sync();

私が抱えている唯一の問題は、モデル全体ではなく、検索しているフィールドの値のみが入力されることです。私は何が欠けていますか?

4

2 に答える 2

1

$scope.person.findme は、$scope.person がまだ定義されていないため、エラーをスローします。これがどのように機能しているのかまったくわかりません。

これが実際の例です:

$scope.person = $goQuery('person', 'person', { userName: 'user1' }, { sort: { 'userName': 'asc' }, limit: 1 }).$sync();

$scope.person.$add({ userName: 'user1', fname: 'a', lname: 'b'});
$scope.person.$add({ userName: 'user2', fname: 'c', lname: 'd'});
$scope.person.$add({ userName: 'user3', fname: 'e', lname: 'f'});
window.person = $scope.person;

window.person のモデルを見ると、user1 の ID とその下のデータが表示されます。

于 2014-05-05T15:37:43.197 に答える
0

Ok。ありがとうコリン・マクドナルド。これは、スコープに結果を返す方法です: HTML コード:

 <label>Find User:</label>
    <input type="text" ng-model="person.findme" placeholder="Enter Full Name to Search..." />
    <input type="button" id="Find" value="Search" ng-click="Find()" />

Java スクリプト:

 $scope.Find = function () {
  console.log('entering find method...')
  $scope.person = $goQuery('person', { userName: $scope.person.findme }, { limit: 1 }).$sync();
       $scope.person.$on('ready', function () {
            var id = $scope.person.$$index[0];
                if (!id) {
                   // no results found
                   return;
                }
       $scope.person = $scope.person[id];
                       $scope.person.id = id;
       });
       };
于 2014-05-16T14:20:22.643 に答える