Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.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 使用ng if隐藏带有angularjs的导航栏_Javascript_Angularjs - Fatal编程技术网

Javascript 使用ng if隐藏带有angularjs的导航栏

Javascript 使用ng if隐藏带有angularjs的导航栏,javascript,angularjs,Javascript,Angularjs,已解决 晚上好, 我在使用ng if从角度隐藏导航侧栏时遇到问题。我在$route上声明了activetab,但它仍然不起作用。这是密码 Html: 回答: 我创建了名为navigation的新控制器,对html进行了分区,并在根控制器上添加了一些代码 导航控制器: experimentApp.controller('navigation', ['$scope', '$location', '$route', function($scope, $location, $route) { $

已解决

晚上好,

我在使用ng if从角度隐藏导航侧栏时遇到问题。我在$route上声明了activetab,但它仍然不起作用。这是密码

Html:

回答

我创建了名为navigation的新控制器,对html进行了分区,并在根控制器上添加了一些代码

导航控制器:

experimentApp.controller('navigation',
['$scope', '$location', '$route', function($scope, $location, $route) {
    $scope.navigation = function() {
        if (!$scope.active('/login')) {
            return 'partials/navigation.php';
        }
    }
}]);
$scope.active = function(path) {
        return $location.path().match(new RegExp(path + '.*', 'i')) != null;
    }
根控制器上的$scope.active:

experimentApp.controller('navigation',
['$scope', '$location', '$route', function($scope, $location, $route) {
    $scope.navigation = function() {
        if (!$scope.active('/login')) {
            return 'partials/navigation.php';
        }
    }
}]);
$scope.active = function(path) {
        return $location.path().match(new RegExp(path + '.*', 'i')) != null;
    }
HTML:



感谢所有帮助您的人。

根据应用程序中路由的变化,您应该尝试使用路由器的事件。见:$route


您可以创建一个
$scope
变量,然后在发生
$routeChangeSuccess
事件时更改它。

根据应用程序中路由的更改方式,您应该尝试使用路由器的事件。见:$route


您可以创建一个
$scope
变量,然后在发生
$routeChangeSuccess
事件时更改它。

您可以使用路由的
resolve
属性从
$route
修改范围:

$routeProvider.when('/', {
    title: baseTitle + ' - Home',
    templateUrl: 'partials/home.php',
    resolve: { activetab: "home" }
}).when('/login', {
    title: baseTitle + ' - Login',
    templateUrl: 'partials/login.php',
    controller: 'LoginController',
    resolve: { activetab: "login" }
});
与以下ng if一起使用:
ng if=“activetab!==”login”“


还有多种其他解决方案,例如使用
$location
监视页面url、从控制器丰富作用域、侦听$route更改事件等。

您可以使用路由的
resolve
属性从
$route
修改作用域:

$routeProvider.when('/', {
    title: baseTitle + ' - Home',
    templateUrl: 'partials/home.php',
    resolve: { activetab: "home" }
}).when('/login', {
    title: baseTitle + ' - Login',
    templateUrl: 'partials/login.php',
    controller: 'LoginController',
    resolve: { activetab: "login" }
});
与以下ng if一起使用:
ng if=“activetab!==”login”“


还有多种其他解决方案,例如使用
$location
监视页面url、丰富控制器的作用域、侦听$route change事件等。

我在尝试此方法时遇到了一个喷油器模块错误,很抱歉,我对此一无所知我在尝试此方法时遇到了一个喷油器模块错误,对不起,我对这件事还不太熟悉