Backbone.Controller'da geçersiz (veya tanımsız) rotayı ve 404 sayfasını algılamak için herhangi bir yöntem var mı?Backbone.Controller'de geçersiz yol ve tetikleme işlevi nasıl belirlenir
Denetleyicimdeki yolları bu şekilde tanımladım, ancak çalışmadı.
class MyController extends Backbone.Controller
routes:
"method_a": "methodA"
"method_b": "methodB"
"*undefined": "show404Error"
# when access to /#method_a
methodA: ->
console.log "this page exists"
# when access to /#method_b
methodB: ->
console.log "this also exists"
# when access to /#some_invalid_hash_fragment_for_malicious_attack
show404Error: ->
console.log "sorry, this page does not exist"
GÜNCELLEME:
Ben şimdiki karma parçasının ve @routes maç için Backbone.Controller yapıcısı kullanılır.
class MyController extends Backbone.Controller
constructor: ->
super()
hash = window.location.hash.replace '#', ''
if hash
for k, v of @routes
if k is hash
return
@show404Error()
routes:
"method_a": "methodA"
"method_b": "methodB"
"*undefined": "show404Error"
# when access to /#method_a
methodA: ->
console.log "this page exists"
# when access to /#method_b
methodB: ->
console.log "this also exists"
# when access to /#some_invalid_hash_fragment_for_malicious_attack
show404Error: ->
console.log "sorry, this page does not exist"
Kendi sorununuzu çözdüyseniz, kendi sorunuzu yanıtlayın. – Raynos
Öneri, yalnızca soruyu içerecek ve daha sonra kendi cevabınızı sağlayacak şekilde sorunuzu yeniden yazmanızdır. Yani, sorunun cevabını atlayın. Yanıtı hemen vermezseniz, birisinin sorunuzu yanıtlamak için daha iyi bir yolu olduğunu görebilirsiniz. –
Evet, öneriniz doğru. Bunu paylaştığın için teşekkürler! – tomodian