我只是在学习 Angular 并设置了一个非常基本的应用程序。当通过路由的 templateUrl 属性呈现一些数据时,在返回的模板中包含子控制器的最佳方法是什么?例如,在“viewItem”模板底部包含一个“createOrEditItem”模板,以便以后可以单独重用“createOrEditItem”?
我尝试将 adiv
放入模板中,其ng-controller
属性设置为我在应用程序级别定义的控制器名称,但它没有被激活。这应该使用指令来完成,以便在主控制器设置其内容时实例化,还是我错过了更基本的东西?
是的,正如问题后面部分所述,您应该使用directive
. 或者,如果使用 AngularJS >= v1.5,component
应该是选择,因为它们是可插入的并且也适用于嵌套。
请注意,对于路线,您也可以直接使用component
这样的:
var myMod = angular.module('myMod', ['ngRoute']);
myMod.component('home', {
template: '<h1>Home</h1><p>Hello, {{ $ctrl.user.name }} !</p>',
// ^^^^ other components can be used here
controller: function() {
this.user = {name: 'world'};
}
});
myMod.config(function($routeProvider) {
$routeProvider.when('/', {
template: '<home></home>'
});
});
现在,正如评论所暗示的那样,您可以在home
component模板中自由使用其他组件。
希望这个对你有帮助!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句