Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了angularjs – ng-include – 多次调用Controller大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
情况:

我试图在不需要任何路由的情况下包含部分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.

问题:

>如何在不创建新范围的情况下简单地包含部分内容
>如果那是不可能的,我怎么能确定,控制器只被调用一次?
>我怎样才能避免404

我是AngularJS的新手,因此可能会做出错误的假设或错过明显的事情,请赐教.

> ngInclude按定义创建一个新范围,因此您无法轻易绕过它.并且,由于嵌套的作用域相互继承,因此新创建的作用域将能够读取someController中的任何内容,因此您不应该对新作用域有任何问题.
> ngInclude的src属性将在每个$digest范围内重新评估,因此您无法阻止它重复调用控制器的方法.就此而言,您需要确保您的方法轻巧快速,并在给定相同输入的情况下返回相同的输出
>当id尚未定义时,您可以通过返回空字符串“”来避免初始404
$scope.getPartial = function(id){
  if(!id){
    return "";
  }
  ...
}

大佬总结

以上是大佬教程为你收集整理的angularjs – ng-include – 多次调用Controller全部内容,希望文章能够帮你解决angularjs – ng-include – 多次调用Controller所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。