angular.js - angularjs和jquery-mobile关于前端路由冲突
大家讲道理
大家讲道理 2017-05-15 16:53:12
0
4
888

目前就是刷新局部视图,jquery-mobile的某些样式会失效,需要强制刷新整个页面。
如何刷新整个页面?

补充:如果使用location.replace(),先是location.replace('page/page1.html)这样直接定位到具体位置,这样的话只会那个页面的代码,实际上那个页面是一个模板页面,那么那个模板页面就是纯HTML,无CSS部分。
然后用location.replace(#page1)这样只是切换了局部视图,并没有什么效果。
如果是$location.reload()那么会跳转到路由里/定义的位置,不是刷新当前页面………………
如何刷新当前整个页面?或者

路由里如何配置,刷新页面是是刷新当前页面,而非跳转到首页?

如果当前页面是http://localhost:8080/#/setting
F5后是http://localhost:8080/setting#/
那么路由到otherwise,也就是/

原问题:angular如何刷新整个页面?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

répondre à tous(4)
PHPzhong

Processus de résolution

Vous devez forcer l'actualisation de la page entière, l'actualisation partielle n'est pas possible
C'est l'effet de F5
=====================>
J'ai trouvé ça après avoir rafraîchi url会变化
Si l'url ne change pas, alors nous pouvons utiliser window.reload
Nous devons donc résoudre le problème des changements d'URL
=====================>
Parce que la page continue de signaler une erreur de chargement de la page
J'ai vérifié et c'est jquery-mobile
Ensuite, j'ai bloqué les fichiers JS et CSS de JQM et j'ai trouvé URL变化是JQM引起的
Trouver des solutions associées
=====================>
Oh, si tu veux persisterjquery-mobile+angular
Vous devez utiliser le saut de page de jqm.
=====================>
Le cadre de l'interface utilisateur frontale est remplacé par jquery-mobile par bootstrap

Conclusion

jqm和angular关于前端路由方面有冲突,
Si vous insistez pour utiliser jqm, vous ne pouvez pas utiliser le routage frontal d'angular. Vous devez utiliser le jq de jqm pour écrire des sauts de page, ce qui peut rendre la page compliquée.
Il a donc fallu une demi-journée pour le remplacer par bootstrap.

左手右手慢动作

emplacement.href ? emplacement.hash ?

小葫芦

Si cela ne fonctionne pas, utilisez simplement jquery. Qu'en pensez-vous ?

洪涛

Je ne sais pas pourquoi, mais j’ai vraiment envie de t’aider quand je vois ta situation. Actuellement j'intègre également JQM et Angularjs et j'ai quelques idées !
Concrètement, configurez certains paramètres lors de l'initialisation de jqm :

    $( document ).on( "mobileinit", function() {
        $.mobile.page.prototype.options.domCache = false;// 关闭缓存
        $.mobile.initializePage = false;
        $.mobile.defaultPageTransition = "fade";
        $.mobile.autoInitializePage = true;
        $.mobile.hideUrlBar = false;
        $.mobile.linkBindingEnabled = false;
        $.mobile.hashListeningEnabled = false;
        $.mobile.ajaxEnabled = false;

    });

Veuillez vous référer à la documentation officielle de l'API pour chaque configuration.
L'une de ces configurations consiste à résoudre le problème de conflit d'URL, qui consiste à désactiver le routage JQM.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal