当惰性加载指令时,它'We’我们永远不要跑步
When lazy loading directive, it's never run
我正在尝试延迟加载指令。它被加载和定义,但之后它就再也不会在html上运行了。在指令被惰性加载后,我如何获得运行指令的角度?
.config(function ($compileProvider, routes, $provide) {
//Lazy define
$compileProvider.directive('myDirective', function ($rootScope, $location, $filter) {
console.log( "This IS called" );
return function (scope, element, attrs) {
console.log( "This is NEVER called");
}
}
}
HTML:
<div my-directive></div>
如果我不懒惰地加载它,它就会被调用。
编辑:这也不起作用:
.config(function ($compileProvider, routes, $provide) {
//Lazy define
$compileProvider.directive('myDirective', function ($rootScope, $location, $filter) {
console.log( "This IS called" );
return {
restrict: 'A',
link: function (scope, element, attrs) {
console.log( "This is NEVER called");
}
};
}
}
在指令被惰性加载后,我如何获得运行指令的角度?
在HTML中使用ng-if
指令。
<body ng-app='test'>
<h1>Hello Plunker!</h1>
<div my-directive ng-if="defined"></div>
<button ng-click="defineIt()">Define it</button><br>
</body>
通过在指令延迟加载后将defined
变量设置为true
,ng-if
指令将使用$compile
服务编译延迟加载指令。
PLNKR上的DEMO。
相关文章:
- 在Highcharts中,我们可以通过任何方式在渲染图表之前获得plotWidth和plotHeight
- 为什么不'我们在javascript中使用函数参数的数据类型
- 我们如何使用css或JavaScript在i/j上更改句点(点)的颜色
- 我们如何在不更改url的情况下使用锚点点击从一个页面重定向到另一个页面
- 我们怎样才能将内含子J用于一组特定的元素
- 我们如何在互联网断开连接或用户关闭选项卡/浏览器时调用注销servlet
- 我们可以使用任意的编程语言来动态化HTML页面吗
- 为什么我们在ES2015中需要一个新的for循环结构,而我们已经有了for、forEach
- asp.net MVC,重定向到视图,视图打开新窗口到外部url,它'It’’’’我们被当成一种风景
- 我们如何在dailymotion播放器的新测试版中播放youtube视频
- 我们可以用参数对象集合而不是原始数据来调用JavaScript collection.reduce()方法吗
- 我们可以为Cesium中使用CZML绘制的多边形设置outlineWidth属性吗
- 当我们保存一些附件时,我们如何提高PouchDB的性能
- 我们能在&在块到mocha的特定测试用例(it)之后
- 我们可以在HTML中禁用右键单击锚标记吗
- 如何获取使用我们的脚本或web应用程序的网站名称
- 我们可以加载动态角度对话框吗
- 我们如何自定义排序JavaScript对象键
- 简单的基于iframe的AJAX脚本:第一次调用产生'null'元素,后续调用'We’我们的工作
- 当惰性加载指令时,它'We’我们永远不要跑步