Avi*_*ida 45 javascript angularjs
我是angularjs的新手,我知道它$scope
代表了控制器和视图之间的连接,但除了寻找class="ng-scope"
获取范围元素之外还有其他方法,我的意思是:
function someControllerFunc($scope){
$scope.element;
}
Run Code Online (Sandbox Code Playgroud)
我知道可以将同一个控制器分配给多个范围,所以也许这是不可能的.
apo*_*ohl 65
您可以将元素传递给控制器,就像作用域一样:
function someControllerFunc($scope, $element){
}
Run Code Online (Sandbox Code Playgroud)
geo*_*awg 13
$element
是四个当地人一个$compileProvider
给予$controllerProvider
随后被提供给哪个$injector
.只有在询问时,进样器才会在控制器功能中注入本机.
四个当地人是:
$scope
$element
$attrs
$transclude
官方文档:AngularJS $ compile Service API Reference - controller
来自Github angular.js/compile.js的源代码:
function setupControllers($element, attrs, transcludeFn, controllerDirectives, isolateScope, scope) {
var elementControllers = createMap();
for (var controllerKey in controllerDirectives) {
var directive = controllerDirectives[controllerKey];
var locals = {
$scope: directive === newIsolateScopeDirective || directive.$$isolateScope ? isolateScope : scope,
$element: $element,
$attrs: attrs,
$transclude: transcludeFn
};
var controller = directive.controller;
if (controller == '@') {
controller = attrs[directive.name];
}
var controllerInstance = $controller(controller, locals, true, directive.controllerAs);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
107525 次 |
最近记录: |