2016-11-03 9 views
0

を行っている偽のコードスニペットです:私はif条件の中でangleスコープでjavascript sort関数を使用しています。私の条件はまだそれがここで内部

$scope.notes = notes.data; 
if($scope.notes) { 
    console.log("notes", $scope.notes); 
} else { 
    console.log("no notes"); 
} 

if($scope.notes) { 
    console.log("in this if"); 
    $scope.singleNote = $scope.notes.sort(function(a,b) { 
    return new Date(b.date_posted).getTime() - new Date(a.date_posted).getTime() 
    })[0]; 
} 

ロジックが他に行く場合でも、それがまたあれば第二に起こっています。 2番目のコンソールは表示されませんが、$ scope.notes.functionが定義されていないというエラーが表示されます。もしそれがelseブロックに入っていれば、2番めには入るべきではありません。

+0

$ scope.notes.functionは他の行で、2番目のifブロックではないので、デバッガを使用してみてください。 – Sikorski

+0

関数を定義する方法は? $ scope.notes = function(){}のようになり、Boolean、trueまたはfalseを返す必要があります。 –

+0

@NikitaはHTMlとJSの両方でコード全体を提供してください –

答えて

0

あなたはおそらくコードが解釈されます、その時点での配列ではありません$ scope.notes上のアレイ機能の並べ替えを使用することを宣言しているので、あなたが直面している問題が発生します。 $ scope.notesをチェックする代わりに、$ scope.dataが定義されていることを確認してください。

$scope.notes = []; 
if(notes.data) { 
    $scope.notes = notes.data; 
    console.log("notes", $scope.notes); 
} else { 
    console.log("no notes"); 
} 

if($scope.notes.length > 0) { 
    console.log("in this if"); 
    $scope.singleNote = $scope.notes.sort(function(a,b) { 
    return new Date(b.date_posted).getTime() - new Date(a.date_posted).getTime() 
    })[0]; 
} 
+0

これはうまくいきませんでした。 –

+0

@NikitaJajodiaエラーが生じますか? –

関連する問題