Angular ui-router控制器范围

时间:2015-05-31 15:21:00

标签: javascript angularjs angular-ui-router

当我使用常规Angular控制器时,我将controller属性放在DOM元素中,控制器控制该元素内的所有DOM树,例如。

<div ng-controller="myController">

当我通过ui-router连接控制器时,我通过状态配置在我的app.js文件中执行,如下所示:

.state('report', {
    url: '/site/:site/report',
    templateUrl: 'minderbinder/report/view/report.html',
    controller: 'ReportController'
})

此控制器的范围是什么?

1 个答案:

答案 0 :(得分:1)

您不应该在div中手动声明控制器,除非您的目的是让ReportController的子(控制器)控制DOM的某些嵌套和特定部分。

作为一个孩子,myController将继承ReportController的范围,后者是您模板的最高控制者。

避免在HTML中声明控制器的好处是使用完全相同的HTML促进HTML模板在潜在的各种控制器中的可重用性。

一个典型的例子是编辑表单和添加表单(CRUD)映射到他们自己的不同控制器但是相同的HTML模板。