?^^ 用于 Angular JS 1.x 组件
?^^ used in in Angular JS 1.x Component
我正在研究 Angular JS 1.x(我知道 FW 已经过时了:))我注意到以下约定在组件配置中经常使用。
require: {
componentContoller1: '^componentContoller1',
},
我知道我们要求 angular 实例化 componentContoller1 的控制器并将其绑定到当前组件中的 属性,但我也注意到遵循约定
require: {
componentContoller1: '?^^componentContoller1',
},
谁能告诉我这里使用 ?^^
有什么区别,我试过 google 和 angular 文档,但无法弄清楚。非常感谢任何帮助。
完成配置或设置会像
angular.module('moduleName').component('componentName',{
templateUrl: "path to template",
require: {
componentContoller1: '?^^componentContoller1',
},
controller(){ //code }
})
来自官方文档(https://docs.angularjs.org/api/ng/service/$compile#-require-)
- (无前缀) - 在当前元素上找到所需的控制器。
如果找不到则抛出错误。
- ? - 尝试找到所需的控制器,如果找不到则将 null 传递给 link fn。
- ^ - 通过搜索 元素及其父元素 找到所需的控制器。如果找不到则抛出错误。
- ^^ - 通过搜索元素的父元素 找到所需的控制器。如果找不到则抛出错误。
- ?^ - 尝试通过搜索 元素及其父元素 或将 null 传递给 [=47= 来定位所需的控制器] fn 如果找不到。
- ?^^ - 尝试通过搜索 元素的父元素 来定位所需的控制器,或者将 null 传递给 link fn 如果找不到。
我正在研究 Angular JS 1.x(我知道 FW 已经过时了:))我注意到以下约定在组件配置中经常使用。
require: {
componentContoller1: '^componentContoller1',
},
我知道我们要求 angular 实例化 componentContoller1 的控制器并将其绑定到当前组件中的 属性,但我也注意到遵循约定
require: {
componentContoller1: '?^^componentContoller1',
},
谁能告诉我这里使用 ?^^
有什么区别,我试过 google 和 angular 文档,但无法弄清楚。非常感谢任何帮助。
完成配置或设置会像
angular.module('moduleName').component('componentName',{
templateUrl: "path to template",
require: {
componentContoller1: '?^^componentContoller1',
},
controller(){ //code }
})
来自官方文档(https://docs.angularjs.org/api/ng/service/$compile#-require-)
- (无前缀) - 在当前元素上找到所需的控制器。 如果找不到则抛出错误。
- ? - 尝试找到所需的控制器,如果找不到则将 null 传递给 link fn。
- ^ - 通过搜索 元素及其父元素 找到所需的控制器。如果找不到则抛出错误。
- ^^ - 通过搜索元素的父元素 找到所需的控制器。如果找不到则抛出错误。
- ?^ - 尝试通过搜索 元素及其父元素 或将 null 传递给 [=47= 来定位所需的控制器] fn 如果找不到。
- ?^^ - 尝试通过搜索 元素的父元素 来定位所需的控制器,或者将 null 传递给 link fn 如果找不到。