第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

AngularJS動態(tài)路由

AngularJS動態(tài)路由

慕哥6287543 2019-11-23 10:40:58
我目前有一個內(nèi)置路由的AngularJS應(yīng)用程序。它可以正常工作,并且一切正常。我的app.js文件如下所示:angular.module('myapp', ['myapp.filters', 'myapp.services', 'myapp.directives']).  config(['$routeProvider', function ($routeProvider) {      $routeProvider.when('/', { templateUrl: '/pages/home.html', controller: HomeController });      $routeProvider.when('/about', { templateUrl: '/pages/about.html', controller: AboutController });      $routeProvider.when('/privacy', { templateUrl: '/pages/privacy.html', controller: AboutController });      $routeProvider.when('/terms', { templateUrl: '/pages/terms.html', controller: AboutController });      $routeProvider.otherwise({ redirectTo: '/' });  }]);我的應(yīng)用程序內(nèi)置了CMS,您可以在其中復(fù)制和添加/ pages目錄中的新html文件。即使對于新動態(tài)添加的文件,我仍然希望通過路由提供程序。在理想的情況下,路由模式為:$ routeProvider.when('/ pagename ',{templateUrl:'/ pages / pagename .html',控制器:CMSController});因此,如果我的新頁面名稱是“ contact.html”,我希望angular選擇“ / contact”并重定向到“ /pages/contact.html”。這有可能嗎?如果是這樣怎么辦?更新資料我現(xiàn)在在我的路由配置中有這個:$routeProvider.when('/page/:name', { templateUrl: '/pages/home.html', controller: CMSController })在我的CMSController中:function CMSController($scope, $route, $routeParams) {    $route.current.templateUrl = '/pages/' + $routeParams.name + ".html";    alert($route.current.templateUrl);}CMSController.$inject = ['$scope', '$route', '$routeParams'];這會將當(dāng)前templateUrl設(shè)置為正確的值。但是,我現(xiàn)在想用新的templateUrl值更改ng-view。這是如何完成的?
查看完整描述

3 回答

?
慕虎7371278

TA貢獻1802條經(jīng)驗 獲得超4個贊

我認為最簡單的方法是稍后解析路由,例如,可以通過json詢問路由。確認我在配置階段通過$ provide在$ routeProvider之外建立了工廠,這樣我就可以在運行階段甚至在控制器中繼續(xù)使用$ routeProvider對象。


'use strict';


angular.module('myapp', []).config(function($provide, $routeProvider) {

    $provide.factory('$routeProvider', function () {

        return $routeProvider;

    });

}).run(function($routeProvider, $http) {

    $routeProvider.when('/', {

        templateUrl: 'views/main.html',

        controller: 'MainCtrl'

    }).otherwise({

        redirectTo: '/'

    });


    $http.get('/dynamic-routes.json').success(function(data) {

        $routeProvider.when('/', {

            templateUrl: 'views/main.html',

            controller: 'MainCtrl'

        });

        // you might need to call $route.reload() if the route changed

        $route.reload();

    });

});


查看完整回答
反對 回復(fù) 2019-11-23
  • 3 回答
  • 0 關(guān)注
  • 612 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號