gpt4 book ai didi

angularjs - 是否可以知道哪个指令初始化了我的 Controller

转载 作者:行者123 更新时间:2023-12-02 22:49:56 24 4
gpt4 key购买 nike

假设我有两个指令:

angular.module('example').directive('dir1', function () {
return {
restrict: 'A',
scope: true,
controller: 'ExampleCtrl'
};});

angular.module('example').directive('dir2', function () {
return {
restrict: 'A',
scope: true,
controller: 'ExampleCtrl'
};});

是否可以判断哪个指令在该 Controller 内初始化了 ExampleCtrl

最佳答案

你可以这样做:

angular.module('example').directive('dir1', function () {
return {
restrict: 'A',
scope: true,
controller: 'ExampleCtrl',
controllerAs: 'dir1Ctrl'
};});

angular.module('example').directive('dir2', function () {
return {
restrict: 'A',
scope: true,
controller: 'ExampleCtrl',
controllerAs: 'dir2Ctrl'
};});

然后,在 Controller 中,$scope.dirNcontroller(其中 N 是 1 或 2 或任意数量)仅当它来自指令 N。这就是 controllerAs 语法的工作原理,它只是发布到作用域。

类似这样的事情:

app.controller('ExampleCtrl', function($scope, $element) {
if ($scope.dir1Ctrl) /* do something */
if ($scope.dir2Ctrl) /* do something else */
});

PLUNKER

关于angularjs - 是否可以知道哪个指令初始化了我的 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29852225/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com