【问题标题】:Angularjs routing is not workingAngularjs路由不起作用
【发布时间】:2015-09-15 08:51:54
【问题描述】:

我刚刚开始使用 angularjs,遇到了路由的概念,我正在做一个演示,但它不起作用我不知道我做错了什么,请帮助我。我在 MVC ASP.NET 中做它

Webapplicatoin3.js

var app = angular.module('WebApplication3', ['ngRoute']);

app.controller('CreateUser1Controller', function ($scope) {
    $scope.models = {
        helloAngular: 'I workssss!'
    };
});

app.config(['$routeProvider', function ($routeProvider) {

    $routeProvider.
        when('/', {
            templateUrl: 'New/CreateUser1'
        });
        
}]);
在 templateUrl 中,“New”是控制器的名称,“CreateUser1”是操作方法

Home.cshtml

<body ng-app="WebApplication3" ng-controller="CreateUser1Controller">
    <div ng-view></div>
    <input type="text" ng-model="models.helloAngular" />{{models.helloAngular}}
       
        <script src="~/Scripts/angular.min.js"></script>
        <script src="~/Scripts/angular-route.min.js"></script>
        <script src="~/Scripts/WebApplication3.js"></script>
    
</body>
CreateUser1.cshtml 未在 div ng-view 中呈现。

CreateUser1.cshtml

<h2>CreateUser1</h2>

<input type="text" ng-model="models.helloAngular" />
<h1>{{models.helloAngular}}</h1>

【问题讨论】:

  • 您需要在您的CreateUser1.cshtml 中添加@{Layout= null;} 另外您还需要在您的 中输入#/$routeProvider.otherwise 中写入其他规则
  • “它不工作”不足以描述问题。您是否在控制台中收到任何错误?此外,“templateUrl 中的“New”是控制器的名称,“CreateUser1”是操作方法”没有任何意义。 TemplateUrl 采用 URL 而不是控制器的名称。
  • @Ursus 他是正确的..控制器的操作将返回视图..
  • @PankajParkar 对不起我的错,但问题仍然不是MCVE
  • 我不知道为什么它在控制台中没有显示任何错误肯定有问题我在 templateUrl:"New/CreateUser1" 更改为 templateUrl:"/New/CreateUser1" 现在这是工作。非常感谢,我被困在这里很长时间了,谢谢

标签: angularjs angularjs-routing


【解决方案1】:

问题出在 WebApplication.js 文件中 在 templateUrl 中,在 New 之前添加“/”

更新这个

 $routeProvider.
        when('/', {
            templateUrl: 'New/CreateUser1'
        });

到这里

 $routeProvider.
        when('/', {
            templateUrl: '/New/CreateUser1'
        });

【讨论】:

    猜你喜欢
    • 2016-05-06
    • 1970-01-01
    • 1970-01-01
    • 2017-05-02
    • 2018-03-18
    • 2016-09-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多