gme*_*rio 8 angularjs typescript angularjs-directive typescript1.8
我正在开发使用Angular 1.5.8和Typescript我有一个指令,它在另一个指令(当然是另一个控制器)的范围内使用.让我们说Directive1,Controller1和Directive2,Controller2.鉴于Controller1已经拥有用户信息,我想通过Directive2将此用户信息传递给Controller2,以防止再次从后端获取信息.我不确定这是否可以做到,但如果是这样的话会很好:)
以下是帮助我解释的代码:
Directive1 HTML:
<div>
...
<directive2 user="{{ctrl.loggedUser}}"></directive2>
...
</div>
Run Code Online (Sandbox Code Playgroud)
loggedUser通过对后端的调用加载到Controller1构造函数中.
Directive2和Directive2Ctrl Typescript代码:
class Directive2 implements ng.IDirective {
controller = "Directive2Ctrl";
controllerAs = "d2Ctrl";
bindToController = {
user: "@"
};
restrict = "E";
templateUrl = "directive2.html";
static factory(): ng.IDirectiveFactory {
const directive = () => new Directive2();
return directive;
}
}
angular
.module("app")
.controller("Directive2Ctrl", Directive2Ctrl)
.directive("directive2", Directive2.factory());
class Directive2Ctrl implements IDirective2Ctrl {
public user: User;
constructor(user: User) {
// user is undefined
}
$onInit(user: User): void {
// user is undefined
}
}
Run Code Online (Sandbox Code Playgroud)
我找不到将用户对象传递给Directive2Ctrl的方法(甚至不确定是否可行).
| 归档时间: |
|
| 查看次数: |
937 次 |
| 最近记录: |