javascript – 角度重定向到另外没有检测到视图,但它工作时,我点击返回按钮

前端之家收集整理的这篇文章主要介绍了javascript – 角度重定向到另外没有检测到视图,但它工作时,我点击返回按钮前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
更新
下面的答案或评论都没有帮助,我希望有人会给我正确的答案.

当我把这个url放在我的浏览器下面 – 它需要我的水果视图和完美的工作,

http://localhost:53052/AppTest.aspx#/fruits

但是当我去家庭视图并点击按钮,并尝试导航到“水果”视图,然后它重定向到http:// localhost:53052 / AppTest.aspx#/ routeNotFound

但是当我点击浏览器的返回按钮,它会返回到果实视图,如果我再次单击它将返回到主视图.

所以这里是树视图中会发生什么,

– >点击主页视图按钮(应导航到水果视图,但它转到routeNotFound视图)

– >当我点击浏览器上的返回按钮,它会进入水果视图,然后如果我再次点击回到主页视图

这是我的路线,

(function () {
    'use strict';
    var app = angular.module('fruitApp');
    app.constant('routes',getRoutes());
    app.config(['$routeProvider','routes',routeConfigurator]);

    function routeConfigurator($routeProvider,routes) {
        routes.forEach(function (route) {
            $routeProvider.when(route.url,route.config);
        });
        $routeProvider.otherwise({ redirectTo: '/routeNotFound' });
    }

    function getRoutes() {
        return [
          {
              url: '/home',config: {
                  templateUrl: 'App/templates/home.html',}
          },{
              url: '/fruits',config: {
                  templateUrl: 'App/templates/fruits.html',}
          }
        ];
    }
})();

主视图(我只用它来加载模块和加载其他视图)

<div data-ng-app="fruitApp">
        <div data-ng-view="">
        </div>
    </div>

家庭景观

<div data-ng-controller="home as vm">
     <div data-ng-click="vm.goToFruits()">click Me!</div>
</div>

家庭控制器

(function () {
    'use strict';

    var controllerId = "home";
    angular.module('fruitApp').controller(controllerId,['$location','datacontext',home]);

    function home($location,datacontext) {
        var vm = this;
        vm.goToFruits = goToFruits;

        function goToFruits() {
            $location.path('/fruits');
        }
    };
})();

水果观

<div data-ng-controller="fruits as vm"> fruits </div>

水果控制器

(function () {
    'use strict';

    var controllerId = "fruits";
    angular.module('fruitApp').controller(controllerId,fruits]);

    function fruits($location,datacontext) {
        var vm = this;
    };
})();

我正在跟踪这个项目,所以像我这样的定义模块不应该是一个问题,如果我没有错过任何概念?

https://github.com/OfficeDev/Learning-Path-Manager-Code-Sample/blob/master/App/learningPath/learningPaths.js

编辑

我尝试改变路由配置和控制器中的一些代码来使用ui-route,而现在它需要我到果实视图(像以前一样),但它不是将我重定向到“否”的路由,但它仍然将URL更改为/ routeNotFound ..

更新

最后我使用href和ng-href来切换视图.

解决方法

你的例子中有很多“绒毛”.我已经删除了一点,你应该可以看到 plunkr demo here – 它有助于看看你是否运行没有框架 – http://run.plnkr.co/plunks/40eDlZfZQnAJRWxeg1ge/#.

对我来说,看起来它的工作原理很好.我可以点击文本导航到“水果”控制器,我在浏览器中点击“返回”按钮返回到“主页”.

关于你的代码的一些事情:

>你的app.module需要用app.module(‘fruitsApp’,[‘ngRoute’])声明;以确保依赖关系被加载.
>我删除了你的示例代码不需要知道的’datacontext’等
>我在路由中使用基本模板而不是templateUrls.
>我将默认路由重定向到’/ home’ – 这在你的上下文中是否有意义?

我的建议是删除你的代码,直到它开始工作,然后使用它来确定是什么导致的问题.

猜你在找的JavaScript相关文章