Siv*_*iva 8 javascript components angularjs
我是angularjs的新手.我正在尝试使用angular 1.5嵌套组件.我可以绑定子组件中的父组件属性.
例如:
<div ng-app='cbsApp' ng-controller='cbsCnt as ct'>
<cbs-cus-comp com-bind='ct.name'>
<child child-com-bind='cbsCusCompCntAs.name'></child>
</cbs-cus-comp>
</div>
Run Code Online (Sandbox Code Playgroud)
我可以在com-bind中获得ct.name值.但无法在child-com-bind中获取cbsCusCompCntAs.name.(cbsCusCompCntAs是cbs-cus-comp控制器)
Working Plunker:https://plnkr.co/edit/axQwTn ? p = preview
提前致谢.
在第一种情况下,您将直接引用控制器范围controllerAs.
在角度1.5中使用组件时,您可以获取父组件,通过require该组件可以$onInit根据组件文档使父级属性可用:
请注意,在控制器实例化期间,所需的控制器将不可用,但保证在执行$ onInit方法之前可以使用它们!
在您的特定情况下,您可以更新子组件以要求父组件:
var child = {
require : {parentComp:'^cbsCusComp'},
template : 'Child : <b{{cbsCusChildCompCntAs.childComBind}}</b>',
controller : cbsCusChildCompCnt,
controllerAs: 'cbsCusChildCompCntAs'
};
Run Code Online (Sandbox Code Playgroud)
和它的控制器来获取你需要的数据(我使用相同的名称,只是为了看它工作):
function cbsCusChildCompCnt(){
this.$onInit = function() {
this.childComBind = this.parentComp.name;
};
}
Run Code Online (Sandbox Code Playgroud)
更新的plunker在这里.
| 归档时间: |
|
| 查看次数: |
17948 次 |
| 最近记录: |