我正在Visual Studio 2013中开发 AngularJS 应用程序。我已经添加了一个自定义HTML模板,其中包含一些调试表单字段,以便在开发网站时操作我的范围:
<div data-ng-include="'App/Development/development.html'"></div>
这已在左下角修复,让我更容易在测试网站时快速执行某些操作。
但是当我部署我的网站(发布配置)时,应该删除它。
有没有人有这样做的好方法?目前我的App配置和AngularJS没有集成,所以没有办法告诉我的Angular应用程序它在生产模式下运行。
答案 0 :(得分:0)
让我们假设您正在使用带剃刀的mvc
创建一个cs文件
public class ConfigManager
{
public static bool IsDebugMode()
{
#if DEBUG
return true;
#else
return false;
#endif
}
}
获取值
<script>
app.value('myValue', @ConfigManager.IsDebugMode());
<script>
在角度控制器上
app.controller('ctrl', function($scope, myValue) {
//use myValue
$scope.isTestMode = myValue;
});
HTML
<div data-ng-show="isTestMode" data-ng-include="'App/Development/development.html'"></div>
答案 1 :(得分:0)
在它上面放置一个ng-clock,这样在角度加载和ng-if之前就不会显示div。如果这样你就不会为常规用户加载(&#34;包括&#34;)所需的源。让服务/控制器检查主机(窗口对象的属性)。如果它是本地的,请使用ng-if显示该面板。你也可以检查查询字符串。所以你可以通过在例如Url上附加?debug = true来调试远程。
答案 2 :(得分:0)
我的解决方案是只检查主机名,如果localhost
我正在显示我的开发栏。
app.controller('development', function ($scope) {
$scope.debug = document.location.hostname == "localhost";
});