无法在流星模板中运行角度应用
这是我的index.html
<body>
</body>
<template name="myIndex">
<section ng-app="myApp" ng-controller="AppController as app">
<div ng-include="'client/index.ng.html'"></div>
</section>
</template>
这是我的index.js
MyIndexRouteController = PreloadController.extend({
'preload': {
'async': ['/js/xxx.js']
},
});
Router.route('/', {
template: 'myIndex',
data: {
env: 'someEnv',
assets: ''
},
controller: MyIndexRouteController,
});
执行路由器规则并且在呈现的HTML中出现模板后,不会启动Angular指令,也不会启动ng-app
,也不会ng-include
。
如何解决这个问题?
答案 0 :(得分:1)
在渲染流星模板后,尝试使用此https://docs.angularjs.org/api/ng/function/angular.bootstrap手动启动角度
当有ng-app指令时,Angular会自动启动,但在这种情况下,该指令是其他模板系统的模板。
答案 1 :(得分:0)
在将模板添加到DOM后,可能需要手动初始化角度应用程序。
查看meteor-preloader的文档,可以使用以下代码段实现:
MyIndexRouteController = PreloadController.extend({
'onAfterAsync' : function() {
//angular.element(document).ready(function() {
angular.module('myApp', []);
angular.bootstrap(document, ['myApp']);
//});
},
'preload': {
'async': ['/js/xxx.js']
},
});