如何将变量从$routeProvider
传递到视图文件:
app.config(['$routeProvider', function ($routeProvider) {
$routeProvider
.when('/send-money', {
templateUrl: 'partials/send-money.html',
controller: 'PageCtrl'
})
.when('/receive-money', {
someURL: 'goToSomePage',
templateUrl: 'partials/receive-money.html',
controller: 'PageCtrl'
})
}]);
正如您可以注意到的那样:
.when('/receive-money')
我声明了(someURL: 'goToSomePage'
)
但.when('/send-money')
我还没有声明(someURL
)
以下是我希望在没有控制器帮助的情况下使其工作的代码。那可能吗 ?即使我不确定像ng-if="someURL"
这样的东西也会起作用。
<div ng-if="someURL">
<a ng-href="someURL" class="nav-back"> <i class="ico-back"></i> </a>
<div>
答案 0 :(得分:2)
如果您不想使用控制器,可以使用run
块将路由服务的引用传递到$ rootScope,从中您可以检查当前路由是否具有属性someURL
:
app.run(function($route, $rootScope) {
$rootScope.$route = $route;
});
现在在模板中,您可以在$route.current
中使用ngIf
:
<div ng-if="$route.current.someURL">
<a ng-href="someURL" class="nav-back"><i class="ico-back"></i></a>
</div>