gpt4 book ai didi

javascript - Angular Directive(指令) > 动态 Controller 名称 > 插值 Controller 名称

转载 作者:行者123 更新时间:2023-12-03 08:18:55 26 4
gpt4 key购买 nike

我需要一些有关如何将 Controller 定义传递给嵌套在 outer 指令中的 inner 指令的帮助。请参阅http://plnkr.co/edit/Om2vKdvEty9euGXJ5qan一个(不)有效的例子。

  1. 有什么方法可以对 script.js@46 上传递的 item.ctrlName 进行 Angular 插值吗?
  2. 如何在 inner 指令中使用 controllerAs 语法?

最佳答案

1) 如果您需要内部指令拥有父 Controller ,您可以在内部指令上使用 require 参数。像这样的事情

angular.module('docsTabsExample', [])
.directive('outer', function() {
return {
restrict: 'E',
transclude: true,
scope: {},
templateUrl: '...', // or template
controllerAs: 'outer',
bindToController: true, // This bind the scope with the controller object
controller: function(scope, element, attrs) {
}
}
})
.directive('inner', function() {
return {
require: '^outer',
restrict: 'E',
transclude: true,
scope: {
title: '@'
},
controllerAs: 'inner',
bindToController: true, // This bind the scope with the controller object
templateUrl: '...', // or template
controller: function(scope, element, attrs, tabsCtrl) {
// tabsCtrl and all the methods on the outer directive
},
};
});

2)你已经设置了controller:controller,而controller是一个空函数,但是你可以像我之前那样设置一个函数,并确保将bindToController: true设置为true

关于javascript - Angular Directive(指令) > 动态 Controller 名称 > 插值 Controller 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33805955/

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