簡體   English   中英

路由在AngularJS中無法正常工作

[英]routing not working properly in AngularJS

我正在嘗試在AngularJS中進行路由。當我單擊``li''2時,我想顯示secondScreen.html的內容。以下是我的代碼。我不知道它出了什么問題。誰能告訴我我在想什么?

AngularJS文件:app.js

var sampleApp = angular.module("sampleApp",['ngRoute','ngResource']);

sampleApp.config(function($routeProvider){

    $routeProvider.when('/',{
        templateUrl : '/templates/firstScreen.html', 
        controller : 'mainController'
    })
    .when('/secondScreen',{         
        templateUrl : '/templates/secondScreen.html', 
        controller : 'mainController'
    })
    .when('/thirdScreen',{          
        templateUrl : '/templates/thirdScreen.html', 
        controller : 'mainController'
    })
    .otherwise({redirectTo : '/'});
});

sampleApp.controller("mainController",["$scope","$log","$resource","$location",function($scope,$log,$resource,$location){

$scope.tabValue = 1;    
$scope.statesAndCapitals = [{state:'Maharashtra',capital:'Mumbai'},{state:'Goa',capital:'Panji'}]

$scope.contacts = [{name:"Steve Jose",mobile : "9872314642",address : "Nasik"}];

$scope.submit = function(tab){
    $scope.tabValue = tab;
    if(tab==1){
        $location.path = '/';
        $log.log("changed path to 1");
    }
    else if(tab==2){
        $location.path = '#/secondScreen';
        $log.log("changed path to 2");
    }
    else if(tab==3){
        $location.path = '#/thirdScreen';
        $log.log("changed path to 3");
    }
}   

$scope.saveContact = function(){

};

}]);

HTML內容:

<body>
    <div ng-controller="mainController">
        <ul>
            <li ng-click="submit(1)" ng-class="{'btn btn-primary' : tabValue==1,'btn btn-default' : tabValue!=1}">Find Capitals</li>
            <li ng-click="submit(2)" ng-class="{'btn btn-primary' : tabValue==2,'btn btn-default' : tabValue!=2}">Add Contact</li>
            <li ng-click="submit(3)" ng-class="{'btn btn-primary' : tabValue==3,'btn btn-default' : tabValue!=3}">Show Contacts</li>            
        </ul>
    </div>
    <div ng-view></div>
</body>

我在更改$ location.path之后獲取日志,但是沒有顯示出來。

這是我的secondScreen.html:

<div class="container-fluid">   
<form ng-submit="saveContact()">
    Name : <input type="text"><br/><br/>
    Age : <input type="number" min=1 max=150><br/><br/>
    Gender : 
    <input type="radio" ng-model="gender" ng-value="Male">Male<br/>

    <input type="radio" ng-model="gender" value="Female">Female<br/>
    <input type="submit" value="Submit"/>
</form>

使用$location.path('/');

代替

$location.path="/"

查看文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM