将模板加载到视图AngularJS后执行javascript

时间:2016-01-24 22:27:59

标签: javascript jquery angularjs

我是Angular的新手,并试图弄清楚如何运行只针对一个模板的JavaScript。

如果我在主页中包含脚本,那么它不起作用,因为尚未加载与模板相关的特定DOM。

我已经尝试过活动代表团,但那不起作用。

有没有办法将脚本包含在控制器中,以便在调用模板加载后运行?

这是我的代码:

        .when("/user-form", {
        templateUrl: "templates/form.html", 
        controller: "FormControl"})


        app.controller('FormControl', function($scope) {

        });

1 个答案:

答案 0 :(得分:2)

通常你需要声明指令(那些是你的独立(或半独立)模板块,它们都有自己的封装逻辑。

您需要注册指令,通常最好使用DDO - 指令定义对象(请查看下面的代码段)

第一个是链接函数,它是角度的DDO(指令定义对象)的一部分,并且一旦所有DOM都被渲染就会发生。

app.directive('helloWorld', function() { return { restrict: 'AE', templateUrl: 'templates/myTemplate.html', controller: ControllerFunction, link: function(scope, elem, attrs) { // your link function code } }; });

有很多关于链接功能的指南,它在渲染周期中占有一席之地。

还有一些方法可以处理控制器中的异步数据绑定,并且通常它会创建更好,更可维护的实践,因为链接函数结构通常意图更像dom-manipulationulative和jquery-like。

正如我从你的问题中理解的那样,你只需要阅读更多有关角度指令,模板,数据绑定,DDO和DDO结构及其标准属性和方法的材料。

祝你好运!