【发布时间】:2017-08-23 16:48:00
【问题描述】:
我有以下格式,其中我有一个全局组件,其中包含 3 个基于给定路由激活的嵌套组件:
$stateProvider
.state('create-goal', {
url: '/create-goal',
component: 'createGoal',
redirectTo: 'create-goal.step-1'
})
.state('create-goal.step-1', {
url: '/step-1',
component: 'step1'
})
.state('create-goal.step-2', {
url: '/step-2',
component: 'step2'
})
.state('create-goal.step-3', {
url: '/step-3',
component: 'step3'
});
在主 create-goal html 文件中,我有以下内容:
<ui-view goal="$ctrl.goal"
goalInfo="$ctrl.goalInfo"
processStep1="$ctrl.processStep1">
</ui-view>
goal 和 goalInfo 工作得很好,因为它们是一种数据绑定方式的数据。但是,当我想传递一个函数(例如 processStep1 以计算对 step-1 等的某些操作时,该函数不会出现在 step-1 组件中,即使 goal 和 goalInfo做。
export default {
name: 'step1',
restrict: 'E',
bindings: {
goal: '<',
processStep1: '&'
},
template,
controller
};
想法?
【问题讨论】:
-
你想什么时候调用 $ctrl.processStep1 函数?您能否也分享一些调用该函数的代码?
-
您使用的是哪个版本的ui-router?在升级到 1.0.12 之前我遇到了同样的问题,尽管我认为 1.0.3 也会添加此功能。
标签: angularjs angular-ui-router angular-components angular-component-router