1

In my MEAN application for nested views I am using angular-route-segment. Everything works fine with the nested views except for the initial default screen.

my first page (index.html) contains header & footer with buttons connect & disconnect. This theme is common in all the pages.

once I click connect, it should load all list of todos (this is where I get problem).

Here is my controller config code

app.config(function ($routeSegmentProvider) {
    $routeSegmentProvider.
        when('/todos', 's1').
        when('/todo/:id', 's2').
        when('/task/:id', 's2.task').
        segment('s1',{
            templateUrl: "public/views/todos.html"
        }).
        segment('s2',{
            templateUrl : "public/views/todo.html"
        }).
        within().
            segment('home',{
                default:true,
                templateUrl : "public/views/default.html"
            }).
            segment('task', {
                templateUrl: "public/views/task.html",
                dependencies: ['id']
            })
})

index.html

<html ng-app="Todo">
<body ng-controller="ConnectioCtrl">
  <button class="btn btn-primary" ng-click="connect()">Connect</button>
  <button class="btn btn-danger" ng-click="disconnect()">Disonnect</button>

    <div ng-if="connected" ng-controller="ToDoListCtrl">
        <a href="#!/todos">Todo List</a>
        <div app-view-segment="0"></div>
    </div>
</body>
</html>

This perfectly works fine for me. but the problem here is I am forced to give <a href="#!/todos">Todo List</a> which is a hyperlink. I don't want this hyperlink to be present in my screen. All that I need is, when ever I click on connect it executes a function which checks all the conditions and returns connected = true, and then by default it should go to list of todos rather than giving a hyperlink Todo list to click on.

please let me know if I need to provide any additional info to bring clarity on this query.

thanks in advance!!

Krishna Kiriti
  • 83
  • 2
  • 10

0 Answers0