简单的编辑功能在使用路由的角度js中不起作用?

时间:2015-07-28 15:18:29

标签: javascript php jquery angularjs routes

这是我的模块部分。我已经写了列出ccategory的路线,添加类别和编辑类别。

var my_app= angular.module('myApp', ['ngRoute','myApp.controllers','myApp.factory']);
my_app.value("category_list",0);
my_app.value("single_category",0);
my_app. config(['$routeProvider', function ($routeProvider) {       

        $routeProvider.when('/category', {templateUrl: 'category/list.php', controller: 'category',activetab: 'category'});     
        $routeProvider.when('/add-category', {templateUrl: 'category/add.php', controller: 'category',activetab: 'category'});
        $routeProvider.when('/edit-category/:param', {templateUrl: 'category/add.php', activetab: 'category'});
        $routeProvider.otherwise({redirectTo: '/dashboard'});
    }]);

这是我的控制器

angular.module("myApp.controllers",[])

        .controller("users",function($scope,$location){           

        })
        .controller("category",function($scope,$location,$route,dataFactory,$routeParams,category_list,single_category){    
            $scope.param = $routeParams.param; 
getCategory();
            function getCategory() {                
                dataFactory.getCategoryList()
                    .success(function (msg) {
                        $scope.catagories=msg;
                category_list=msg;
                    })
                    .error(function (error) {
                        $scope.status = 'Unable to load customer data: ' + error.message;
                    });
            }
 $scope.editCategory=function(mid){
                single_category=category_list[mid];
                alert(single_category);
               $scope.category_name=category_list[mid].category_name;
               console.log(category_list[mid].category_name);
               //alert($scope.category.category_name);
               $location.path("/edit-category/"+mid);
            }

})

在这个控制器中,有一个函数getCategory()。使用这个函数,我得到了类别json数组。现在点击了视图中的编辑按钮。我从editCategory()函数中的数组得到了单个对象single_category变量。 现在我正在尝试在编辑页面上打印此单个对象值,但这些值未显示在编辑页面上。

1 个答案:

答案 0 :(得分:0)

Your edit-category route does not include the category controller, so you wont be able to access the scope or any functions defined in it.

$routeProvider.when('/edit-category/:param', {
    templateUrl: 'category/add.php',
    controller: 'category',
    activetab: 'category'
});