Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.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
Angularjs 角度UI路由器-动态模板URL_Angularjs_Angular Ui Router_State - Fatal编程技术网

Angularjs 角度UI路由器-动态模板URL

Angularjs 角度UI路由器-动态模板URL,angularjs,angular-ui-router,state,Angularjs,Angular Ui Router,State,我正在构建一个静态HTML网站,带有用于导航的角度UI路由器。我基本上有一个ui视图,其中有多个(10+)html模板(页面)要加载到该视图中。我的所有模板页面都位于名为“页面”的目录中 因此,我基本上想知道我们是否可以在$stateProvider中定义一个状态来动态分配多个模板URL,而不是为每个HTML模板页面编写不同的状态(如下所述) 非常感谢您的帮助。这应该不那么困难,请检查以下示例: 我们可以使用$stateParams和templateProvider来 .state('gener

我正在构建一个静态HTML网站,带有用于导航的角度UI路由器。我基本上有一个ui视图,其中有多个(10+)html模板(页面)要加载到该视图中。我的所有模板页面都位于名为“页面”的目录中

因此,我基本上想知道我们是否可以在$stateProvider中定义一个状态来动态分配多个模板URL,而不是为每个HTML模板页面编写不同的状态(如下所述)


非常感谢您的帮助。

这应该不那么困难,请检查以下示例:

我们可以使用
$stateParams
templateProvider

.state('general', {
   url: '/{type}',
   //templateUrl: 'pages/home.html',
   templateProvider: ['$stateParams', '$templateRequest',
      function($stateParams, $templateRequest) 
      {
        var tplName = "pages/" + $stateParams.type + ".html";
        return $templateRequest(tplName);
      }
    ],
    // general controller instead of home
    //controller: 'homeController',
    controller: 'generalController',
    controllerAs: 'ctrl'
我们还可以将参数
type
限制为预期值之一,请参见:

url: '/{type:(?:home|viz|about)}',
还有与工作plunker非常相似的问答和更多细节:

以下是另一个例子:


您可以,但您将远离整个ui路由器。后退按钮不起作用,它没有可伸缩性等。如果你想这样做,你可以使用nginclude。这正是我想要的。干杯。很高兴看到这一点,先生;)享受强大的用户界面路由器!
url: '/{type:(?:home|viz|about)}',