2016-06-14 9 views
0

イムのプロパティ「のtoString」を読み取ることができません。言うまでもなく、私はあなたがこの問題についてかなりの時間を費やしたためにこれを理解するのを助けることができれば、これはうまくいけば私は初心者です。ここAngularJSはAngularJSを含み、私が把握しているようだカントエラーに実行していたプロジェクトに取り組んで未定義の

は私のコードは

WatchboxCtrl.js https://gist.github.com/anonymous/0c68fbd87574d61377b54981a09f66e5

であり、エラーが私がしたいものを、

FleetMapCtrl.js結局

https://gist.github.com/anonymous/9df7bc7c54a09c91dd60cd009ba9ff91

を発生する場所ですアプリは複数のアラートを表示していますeの警告が表示された場合、アプリはアラートの発信元に自動的に拡大されます。以前は文字列として "id"を持っていましたが、うまくいきましたが、後で "id"を整数に変更してズーム機能が動作しなくなりました。でコンソールは私が警戒をクリックするたびに、このエラーを与える:

angular.js:11655 TypeError: Cannot read property 'toString' of undefined at flyTo (FleetMapCtrl.js:320) at Object.fn (FleetMapCtrl.js:287) at Scope.$digest (angular.js:14308) at Scope.$apply (angular.js:14571) at HTMLButtonElement.<anonymous> (angular.js:21571) at HTMLButtonElement.dispatch (jquery-2.0.3.min.js:5) at HTMLButtonElement.y.handle (jquery-2.0.3.min.js:5)

それはfleetmapCtrl.jsでライン320でエラーを示すが、私はそれが働いていない理由/理解把握カント。

助けてください。私はそれを修正するためにどこでも検索しましたが、私はそれを解決するように見えません。私は絶望的です。おかげ

答えて

0

あなたはあなたの小さな方法でundefinedをチェックされていません。

function isUndefinedOrNull(val) { 
    if (val === "" || val === null || val === "undefined") { 
     return true; 
    } 
} 

あなたは、文字列"undefined"ないundefinedをチェックされています。

console.log(undefined==="undefined"); //false 

だから、引用符

function isUndefinedOrNull(val) { 
    return val === "" || val === null || val === undefined; 
} 

せずにする必要がありますが今、なぜそれが定義されていませんか? flyToが呼び出されている場所を追跡し、時計が新しい値を返さない理由を突き止める必要があります。あなたが言ったように

0

は、たnewvalは、これ以上の文字列であり、newValににはzoomlevelはありません。 newVal.zoomLevelにアクセスすると、未定義のみが返されます。 私は以下の行に問題があると思います。私はどこにあなたがそのオブジェクトにzoomLevelを割り当てているのか見ていません。もし私が同じことを忘れてしまったら、私を許してください。 $ scope.markers = getMarkers($ scope.mapData [newVal.zoomLevel.toString()]);

関連する問題