Angularjs “使用”有什么区别;要求:ngController“;及;控制员:“;在指令中?
我正在切换使用以下命令创建的指令:Angularjs “使用”有什么区别;要求:ngController“;及;控制员:“;在指令中?,angularjs,angularjs-directive,angularjs-scope,Angularjs,Angularjs Directive,Angularjs Scope,我正在切换使用以下命令创建的指令: return { restrict: 'E', templateUrl: '/src/templates/noise/swatches.html', link: link, controller: "swatchesController" }; 及 使用: return { restrict: 'E', templateUrl: '/src/templates/noise/swatches.html',
return {
restrict: 'E',
templateUrl: '/src/templates/noise/swatches.html',
link: link,
controller: "swatchesController"
};
及
使用:
return {
restrict: 'E',
templateUrl: '/src/templates/noise/swatches.html',
link: link,
require: "ngController"
};
及
这似乎会对现有手表产生意想不到的副作用,这些手表属于针对swatches指令指定的范围变量的其他指令。据我所知,新方法引入了一个新的作用域,因此将关注的变量分配给父作用域似乎应该是可行的,但这些关注点拒绝触发
上述两种方法之间有根本区别吗?需要注意的几点:
return {
restrict: 'E',
templateUrl: '/src/templates/noise/swatches.html',
link: link,
require: ["ngDirective1", "ngDirective2"], //Get the controller of that directive
link : function(scope, element, attributes, controllers){
var ctrl1 = controllers[0];
var ctrl2 = controllers[1];
//Require can be a string or, as this example, an array.
}
};
在require中传递的指令必须在您的指令中。
如果不是,您可以说:使用^
在容器元素上查找它:
要求:“^ngDirective”
注意:您可以传递多个控制器
return {
restrict: 'E',
templateUrl: '/src/templates/noise/swatches.html',
link: link,
require: ["ngDirective1", "ngDirective2"], //Get the controller of that directive
link : function(scope, element, attributes, controllers){
var ctrl1 = controllers[0];
var ctrl2 = controllers[1];
//Require can be a string or, as this example, an array.
}
};
在require中传递的指令必须在您的指令中。
如果不是,您可以说:使用^
在容器元素上查找它:
要求:“^ngDirective”
检查此项,手表分配在哪里?“它们在哪里无法触发?”Davidtroon这些手表被分配到另一个指令上,这是swatches指令的兄弟指令。当swatchesController更新其一个属性时,它们无法触发。我将尝试创建一个可能的最简单示例。检查此项。手表分配在哪里?“它们在哪里无法触发?”Davidtroon这些手表被分配到另一个指令上,这是swatches指令的兄弟指令。当swatchesController更新其一个属性时,它们无法触发。我将尝试创建一个最简单的示例。