我是角色的新手,我正在试图找出使用该元素的所有可能方法。浏览一些博客后,尤其是Learning Directives in angular 我开始知道控制器可用于初始化范围,但我无法在控制器内初始化范围,任何人都可以帮助理解如何在指令的控制器功能内初始化范围。
这是我的示例代码
app.directive("simple", function () {
return {
restrict: "EA",
transclude: true,
template: "<div><button type='button'>{{name}}click me !!!</button></div>",
link: function (scope, element, attrs) {
}
,
controller: function ($scope) {
$scope.name = 'frog';
}
};
});
答案 0 :(得分:1)
这个想法是在控制器(任何控制器)内部,你可以随时注入$ scope,你不必担心初始化。这是控制器的主要目的。并且angularJs中需要$ scope来执行MVC
很高兴知道还有另一个地方可以访问$ scope,但它不会被注入,而是在场景后面创建并提供给你。该位置在指令的Link函数内。 :)
还有另一个范围,那就是整个应用程序的$ rootScope。特定的$ scope也可以注入服务和提供者(at 运行时间)