Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.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 AngularJs动态模板以相同路线显示_Javascript_Angularjs_Angular Ui Router - Fatal编程技术网

Javascript AngularJs动态模板以相同路线显示

Javascript AngularJs动态模板以相同路线显示,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我是新手。最近我在做路由和模板URL的工作。这是直截了当的。但现在我想做一些事情,如果这是可能的话 我希望使用相同的路由显示不同的视图或模板,但这取决于我从服务器获取的数据的属性。如果状态为A,则显示编辑模式;如果状态为B,则显示只读模式。除状态外,数据值相同。我在模板中执行ng if并来回切换。可以这样做,但出于可重用性的目的,我想为每个模板创建一个单独的模板,并根据这些属性在路由中调用模板 如果可以,请告诉我。谢谢大家! 与本问答接近的是: 如果我正确理解你的意思,方法可能是: 使用$st

我是新手。最近我在做路由和模板URL的工作。这是直截了当的。但现在我想做一些事情,如果这是可能的话

我希望使用相同的路由显示不同的视图或模板,但这取决于我从服务器获取的数据的属性。如果状态为A,则显示编辑模式;如果状态为B,则显示只读模式。除状态外,数据值相同。我在模板中执行ng if并来回切换。可以这样做,但出于可重用性的目的,我想为每个模板创建一个单独的模板,并根据这些属性在路由中调用模板

如果可以,请告诉我。谢谢大家!

与本问答接近的是:

如果我正确理解你的意思,方法可能是:

  • 使用
    $stateParams
    切换读取/编辑
  • templateProvider
    选择模板
  • $templateRequest
    通过
    $http
    +
    $tempalteCache
州def将非常简单:

$stateProvider
    .state('myState', {
        url: '/myState/:operation',

        templateProvider: ['$stateParams', '$templateRequest',
          function($stateParams, $templateRequest) {

            var templateName = 'read.html';

            if ($stateParams.operation === "edit") {
                 templateName = 'edit.html';
            } 

            return $templateRequest(templateName);
        }],
        controller: function ($state) {
        }
    });
以及与该州的链接:

  <a href="#/myState/read">
  <a href="#/myState/edit">

感谢您的时间和努力!。我明白了。