Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度视图未加载,但控制器已加载_Javascript_Angularjs_Url Routing_Angularjs Routing_Angularjs Controller - Fatal编程技术网

Javascript 角度视图未加载,但控制器已加载

Javascript 角度视图未加载,但控制器已加载,javascript,angularjs,url-routing,angularjs-routing,angularjs-controller,Javascript,Angularjs,Url Routing,Angularjs Routing,Angularjs Controller,我已经为几个角度视图定义了路线,一个是默认的“票证”,另一个是编辑视图“票证”。出于某种原因,当我将“编辑”编码为url时,票证路径可以正常打开。如果我使用ng click对“编辑”链接进行编码以在控制器上运行方法并更改位置(即$location.path('/ticket/2')),它将加载正确的控制器“TicketController”,但似乎从未加载视图。实际上是加载正确的控制器,然后加载默认控制器 在下面的示例中,您将看到每个详细信息项的两个编辑链接,“edit”是带有href集的url

我已经为几个角度视图定义了路线,一个是默认的“票证”,另一个是编辑视图“票证”。出于某种原因,当我将“编辑”编码为url时,票证路径可以正常打开。如果我使用ng click对“编辑”链接进行编码以在控制器上运行方法并更改位置(即$location.path('/ticket/2')),它将加载正确的控制器“TicketController”,但似乎从未加载视图。实际上是加载正确的控制器,然后加载默认控制器

在下面的示例中,您将看到每个详细信息项的两个编辑链接,“edit”是带有href集的url(可以正常工作),另一个“edit 2”使用ng click指令

只需从
tickets.html

只需从
tickets.html

只需从
tickets.html

只需从
tickets.html


在index.html中,您必须修复
ng应用程序中额外的双引号,正如@brygiger所说的那样

此外,在tickets.html中,您在href中有额外的#,您可以在这里看到,这是不需要的:

|
http://plnkr.co/edit/AuFnB7dV1YOkTuQiqxvg

如@brygiger所说,在index.html中查看plunker的固定版本

,您必须在
ng应用程序中修复额外的双引号

此外,在tickets.html中,您在href中有额外的#,您可以在这里看到,这是不需要的:

|
http://plnkr.co/edit/AuFnB7dV1YOkTuQiqxvg

如@brygiger所说,在index.html中查看plunker的固定版本

,您必须在
ng应用程序中修复额外的双引号

此外,在tickets.html中,您在href中有额外的#,您可以在这里看到,这是不需要的:

|
http://plnkr.co/edit/AuFnB7dV1YOkTuQiqxvg

如@brygiger所说,在index.html中查看plunker的固定版本

,您必须在
ng应用程序中修复额外的双引号

此外,在tickets.html中,您在href中有额外的#,您可以在这里看到,这是不需要的:

|
http://plnkr.co/edit/AuFnB7dV1YOkTuQiqxvg

查看plunker的固定版本

My gosh此代码太乱了。请尝试了解如何组织您的控制器、app.js等。MohamedElMahallawy-感谢链接,这不是我的生产代码,只是一个简单的演示模型purposes@MohamedElMahallawy-我已经考虑了你的评论一段时间了,但它确实没有带来任何东西。你应该试着把注意力集中在解决问题上,而不是批评代码。抱歉应该是更支持和有用的。只是想通过指出一个资源来提供帮助!天哪,这代码太乱了。请尝试了解如何组织您的控制器、app.js等。MohamedElMahallawy-感谢链接,这不是我的生产代码,只是一个简单的演示模型purposes@MohamedElMahallawy-我已经考虑了你的评论一段时间了,但它确实没有带来任何东西。你应该试着把注意力集中在解决问题上,而不是批评代码。抱歉应该是更支持和有用的。只是想通过指出一个资源来提供帮助!天哪,这代码太乱了。请尝试了解如何组织您的控制器、app.js等。MohamedElMahallawy-感谢链接,这不是我的生产代码,只是一个简单的演示模型purposes@MohamedElMahallawy-我已经考虑了你的评论一段时间了,但它确实没有带来任何东西。你应该试着把注意力集中在解决问题上,而不是批评代码。抱歉应该是更支持和有用的。只是想通过指出一个资源来提供帮助!天哪,这代码太乱了。请尝试了解如何组织您的控制器、app.js等。MohamedElMahallawy-感谢链接,这不是我的生产代码,只是一个简单的演示模型purposes@MohamedElMahallawy-我已经考虑了你的评论一段时间了,但它确实没有带来任何东西。你应该试着把注意力集中在解决问题上,而不是批评代码。抱歉应该是更支持和有用的。只是想通过指出一个资源来提供帮助!
(function () {
    var app = angular.module('SimpleTicket', ['ngRoute']);

    app.config(function ($httpProvider, $routeProvider) {
        $routeProvider.
            when('/ticket/:ticketId',
                {
                    templateUrl: 'ticket.html',
                    controller: 'TicketController as vm'
                }).
            when('/', {
                templateUrl: 'tickets.html',
                controller: 'TicketsController as vm'
            }).
            otherwise({
                redirectTo: '/'
            });

    });

    var TicketController = function ($scope, $log, $routeParams, $location) {
        var vm = this;
        $log.log('TicketController');
        var saveTicket = function () {
          $log.log('Item saved')
          $location.path('/');
        };

        vm.saveTicket = saveTicket;

        vm.ticket = {TicketId:2,Title:'Ticket 2',Body:'Body 2'};

    };
    app.controller("TicketController", TicketController);

    var TicketsController = function ($location, $log) {
        var vm = this;
        $log.log('TicketsController');

        var editTicket = function () {
            $log.log('editTicket');
            $location.path('/ticket/2');
        };
        vm.editTicket = editTicket;

        vm.tickets = [{TicketId:1,Title:'Ticket 1',Body:'Body 1'},
            {TicketId:2,Title:'Ticket 2',Body:'Body 2'}];

    };

    app.controller("TicketsController", TicketsController);



}());
<a ng-href="ticket/{{ticket.TicketId}}">edit</a> | 
<a href="" ng-click="vm.editTicket()">edit 2</a>
http://plnkr.co/edit/AuFnB7dV1YOkTuQiqxvg