angularjs – ng-include – 多次调用Controller
发布时间:2020-12-17 08:48:02 所属栏目:安全 来源:网络整理
导读:情况: 我试图在不需要任何路由的情况下包含部分ng-include.我只想动态地包含许多特定部分.这或多或少看起来像: div ng-controller="SomeController" //This controller defines a $scope.getPartial(id) ng-include src="getPartial(something.id)"/ng-inc
情况:
我试图在不需要任何路由的情况下包含部分ng-include.我只想动态地包含许多特定部分.这或多或少看起来像: <div ng-controller="SomeController"> //This controller defines a $scope.getPartial(id) <ng-include src="getPartial(something.id)"></ng-include> </div> 它工作,部分包括在内.但是看着控制台,我可以看到控制器被多次调用,第一次被调用时,我得到了404
当包含第一次出现时,似乎没有定义something.id. 问题: >如何在不创建新范围的情况下简单地包含部分内容? 我是AngularJS的新手,因此可能会做出错误的假设或错过明显的事情,请赐教.
> ngInclude按定义创建一个新范围,因此您无法轻易绕过它.并且,由于嵌套的作用域相互继承,因此新创建的作用域将能够读取SomeController中的任何内容,因此您不应该对新作用域有任何问题.
> ngInclude的src属性将在每个$digest范围内重新评估,因此您无法阻止它重复调用控制器的方法.就此而言,您需要确保您的方法轻巧快速,并在给定相同输入的情况下返回相同的输出 >当id尚未定义时,您可以通过返回空字符串“”来避免初始404: $scope.getPartial = function(id){ if(!id){ return ""; } ... } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |