我有一个AngularJS模板,我嵌入仪表板。 使用PHP,我生成了一些代码。我第一次访问AngularJS模板中的页面时,所有工作都非常棒。但是,第二次访问该页面时,我看到了旧的PHP代码。在AngularJS中重新加载php页面
AngularJS不会重新生成PHP代码,每次访问时都应该更改它。我怎么能解决这个问题?
我需要我的PHP代码来生成一个独特的票据,以正确嵌入仪表板。
我试过这篇文章:AngularJs: Reload page但它不工作。
谢谢。
我有一个AngularJS模板,我嵌入仪表板。 使用PHP,我生成了一些代码。我第一次访问AngularJS模板中的页面时,所有工作都非常棒。但是,第二次访问该页面时,我看到了旧的PHP代码。在AngularJS中重新加载php页面
AngularJS不会重新生成PHP代码,每次访问时都应该更改它。我怎么能解决这个问题?
我需要我的PHP代码来生成一个独特的票据,以正确嵌入仪表板。
我试过这篇文章:AngularJs: Reload page但它不工作。
谢谢。
AngularJS的工作方式与您的思维方式不同。给你的头一个动摇,并准备思考有点不同。
在AngularJS应用程序中,显示的HTML或DOM(标签和业务数据的混合)在客户端(浏览器)生成。 不应该使用PHP生成服务器端,因为您正在尝试执行。
AngularJS根据您的AngularJS代码/指令和数据创建显示的HTML客户端。您的代码/说明包括Javascript和AngularJS模板。模板不应包含业务数据,而只应包含数据放置位置以创建显示的HTML(或DOM)的说明。这些指令是ng-bind,{{var}},ng-repeat等。
就像它不会从服务器反复检索您的Javascript代码/指令一样,AngularJS不会从您的模板代码/指令中反复检索服务器。它获取一次,将其缓存到本地,并在需要重新显示该页面时重新使用它。
你的AngularJS模板真的应该是静态* .html文件,就像你的.js(和.css)是静态文件一样。只有在一些非常奇怪的需求下,你才需要用PHP动态生成AngularJS模板。 (现在,要获取模板所需的业务数据,请使用AngularJS的$ http服务,这会调用您的PHP服务器端,您的PHP代码只返回包装在JSON中的数据...而不是用HTML包装)。
你是什么意思'访问一个页面'。我认为这是关于改变意见不重新加载? –
听起来像是一个缓存问题。 AngularJS无法控制您的PHP脚本。 – jperezov
你可能会缓存你的模板。如果您有一个由PHP重新生成的完整模板,那么最好在$ http请求获得模板后将模板注入占位符。如果它只是一个唯一标识符字符串,您可以使用$ http请求获取唯一标签。 https://docs.angularjs.org/api/ng/service/$templateCache或禁用模板缓存http://opensourcesoftwareandme.blogspot.in/2014/02/safely-prevent-template-caching-in-angularjs.html – Gary