AngularJS在localhost上提供*部分*旧代码

时间:2016-05-24 12:17:18

标签: angularjs variables scope osx-elcapitan

所以这很奇怪......我的控制器中有一个$ scope变量,分配给一个字符串。

我已经改变了那个字符串。

它正在提供已久的原始字符串。

我知道,我知道:清除浏览器缓存。做过某事。它还在那里。我尝试过Firefox和Safari。你知道吗?我没有安装Opera,所以我下载并安装了Opera,旧的字符串甚至出现在Opera中,我的电脑 - 一台2015 MacBook Pro运行最新版本的OSX El Capitan。

我知道,我知道:刷新Apache缓存,即使它在Mac上已禁用,但我从未启用它。精细。我在代码中的目录上运行了htcacheclean -r -p,我仍然得到旧的代码。

我知道,我知道:确保你没有意外地指向错误的目录。嗯....事情是,整个驱动器上只有一个副本。另外,即使忽略了新的$ scope变量源代码更改,我也可以对完全相同的文件中的函数进行更改,但它肯定能够兑现那些更改。

为了记录,这里的代码没有改变:

$scope.credits = '<div class="credits" id="show_cred">';
$scope.credits += '<marquee behavior="scroll" direction="up">';

当我加载页面时,它显示字符串是:

<div class="credits">

就是这样。没有身份证没有“大帐篷”。 (是的,我确实在字符串后面有相应的结束标记,并且它们确实被渲染......好吧,除了关闭的“marquee”标记,因为,这是一条它拒绝承认的新行。)我去了至于改变整个$ scope.credits变量只是这个:

$scope.credits = '';

....但旧的变量仍然呈现。

我尝试将这两行合并为一行,但是没有。

在同一个控制器文件中 - 同样的文件 - 它实际上反映了我对函数所做的修改,而不是变量。

这......是我多年来作为网络开发者所见过的最离奇的情况。这绝对不是基于浏览器的。它绝对不是Apache的缓存(除非我被骗并且在Mac上启用 并且htcacheclean命令是安慰剂)。

你们对此有何看法?

1 个答案:

答案 0 :(得分:0)

好吧,我确实提出了一个解决方案,这是我应该从一开始就做的事情。

我没有将大量的HTML分配给范围变量,而是将其放在视图中并将其附加到ng-if指令中。这解决了我的问题,因为网站现在做了我打算做的事情。

然而,它实际上并没有回答这个问题,即世界上变量的旧值是如何设置的。