从控制器中查找角度模板中的元素

时间:2016-02-24 11:29:06

标签: angularjs angularjs-directive

我正在使用指令。 这是我的指令的简单格式:

angular.module('app',[]).directive('companylookup', CompanyLookupDirective);

function CompanyLookupDirective() {
    return {
        templateUrl: '<input id="foo"/>',            
        controller: 'CompanyLookupController',
        controllerAs: 'vm'
    }
}

我想在我的控制器(CompanyLookupController.js)中找到带有jquery的input元素,如下所示:

var foo =    $('#foo');
// decorate foo element using igniteui lib
$('#foo').igCombo({ datasource: ...});

但是$(&#39;#foo&#39;)总是返回null。我可以尝试延迟使用$ timeout服务查找元素,等待元素存在。但是我不想在我的应用程序中这么多次关注性能。

我们有什么办法可以从控制器中引用angularjs中的模板元素吗?

1 个答案:

答案 0 :(得分:0)

模板URL中的

在引号之前使用转义字符

private function createModule():void {
    _moduleLoader = new ModuleLoader;
    _moduleLoader.applicationDomain = ApplicationDomain.currentDomain;
    _moduleLoader.addEventListener(ModuleEvent.READY, onModuleReady);
    _moduleLoader.url = "path/to/your/module/MyModule.swf";
    _moduleLoader.loadModule();
}

private function onModuleReady(event:ModuleEvent):void {
    // iMyModule is null if ApplicationDomain is not set
    var iMyModule:* = event.currentTarget.child as IMyModule;
}

我同意@Robert Goldwein,如果你绝对必须,请使用link来操纵DOM

编辑: Help关于链接和编译功能。