页面内加载AngularJS模板,动态(Load AngularJS Template within

2019-06-26 00:35发布

我有一个包含2个控制器的页面:一个用来管理所谓的“应用程序”列表,另一个是新角模板放入它的Div元素的innerHTML。

<div ng-controller="appList"></div>
<div ng-controller="appPane"> Dynamic content should be loaded here! </div>

我已经使用标准{{表达式}}绑定尝试过,但它们不与HTML工作,我也尝试了NG-绑定HTML的不安全指令(绑定innerHTML来的应用程序要求的回报),但控制器不这个新的代码中执行。

这个问题似乎是通过使用绑定,角度不重解析有问题的HTML的内容,使用它作为一个角度应用程序。 如何得到它来解析动态内容的任何想法?

Answer 1:

看看在uiRouter模块(从AngularUI项目)。 它增加了状态,这是非常相似的路线的概念,但与其他好吃的东西,如能力,其嵌套。 例如:

$stateProvider
    .state('myState', {
        url: '/mystate',
        templateUrl: '...',
        controller: 'MyCtrl'
    })
    .state('myState.substate', {
        url: '/{substate}',
        templateUrl: '...',
        controller: 'MySubCtrl'
    });

MySubCtrl每当你去将被激活/mystate/something ,你可以使用“东西”作为一个参数(见$stateParams )。 您可以嵌套国家水平的任何量。



Answer 2:

看来,$编译服务,饲喂时你希望与您现有的范围重新编译沿着元素,做什么,我一直在寻找。

从我的源代码示例:

var appPane = $('#AppPane');//JQuery request for the app pane element.
appPane.html(data);//The dynamically loaded data
$compile(appPane.contents())($scope);//Tells Angular to recompile the contents of the app pane.

这应该帮助任何人遇到我的问题,我希望。



Answer 3:

再看$路线在angularjs和ngView。

这里是一个非常简单的例子:

http://jsfiddle.net/pXpja/3/



文章来源: Load AngularJS Template within page, dynamically