角度视图问题 - Angular 1.5 - $ stateProvider问题??? - UI路由器

时间:2016-10-25 01:47:40

标签: angularjs angular-ui-router

我有一个简单的应用程序,它使用$ stateProvider在模板/视图之间切换。我有两个链接:

<a href="#" ng-click="manage('area')">Areas</a>
<a href="#" ng-click="manage('vendors')">Vendors*</a>

我在控制器中有以下处理程序:

var vm = $scope;

vm.manage = function (type) {

    if (type == 'vendors') {
        vm.message = 'Comming soon.';
    } else {
        $state.go(type);
    }

};

当我点击Regions链接时,我将状态更改为area(使用$state.go(...)调用,然后我看到模板(和html内容)。然后,当我点击供应商时链接我看到默认消息&#39;很快就会出现&#39;。然后当我再次单击Regions链接时,我从区域控制器获取console.log但不输出(模板和其中的html内容)。在这里,这是一项非常简单的任务,我一直在做,不知道为什么我第二次请求<h1></h1>更改时没有得到静态$state

我已经尝试$scope.apply()甚至$scope = $scope.new假设内存中的某些内容被堵塞或其他东西。

我的模块看起来像这样:

'use strict';
(function () {
    angular.module('areaModule', []).config(areaModule);

    areaModule.$inject = ['$stateProvider'];

    function areaModule($stateProvider) {
        $stateProvider
            .state('area', {
                url: '/area',
                templateUrl: 'app/assetManagement-app/modules/area/area.tmpl.html',
                controller: 'area-controller'
            });
    }
})();

,控制器看起来像这样

'use strict';
(function () {
    angular.module('areaModule').controller('area-controller', areaController);

    areaController.$inject = ['$scope', '$state', 'areaService'];

    function areaController($scope, $state, areaService) {

        var vm = $scope;

        // clean up any memory leaks
        $scope.$on('$destroy', function () { });

        // init()
        vm.init = function () {
            console.log('area controller');
        };

        vm.init();

        return vm;
    }
}());

,模板在这里

<div class="container" style="margin: 10px 5px 10px 5px;">
    <h1>Area Management View</h1>
</div>

发生了什么?

1 个答案:

答案 0 :(得分:1)

这是href和state.go之间的冲突。如果你删除html中的href它正在按预期工作。