相关疑难解决方法(0)

如何根据AngularJS局部视图动态更改标题?

我使用ng-view包含AngularJS部分视图,我想根据包含的视图更新页面标题和h1标题标记.这些超出了部分视图控制器的范围,因此我无法弄清楚如何将它们绑定到控制器中的数据集.

如果它是ASP.NET MVC你可以使用@ViewBag来做到这一点,但我不知道AngularJS中的等价物.我搜索过共享服务,事件等但仍无法使其正常工作.任何方式来修改我的例子,所以它的工作将非常感激.

我的HTML:

<html data-ng-app="myModule">
<head>
<!-- include js files -->
<title><!-- should changed when ng-view changes --></title>
</head>
<body>
<h1><!-- should changed when ng-view changes --></h1>

<div data-ng-view></div>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我的JavaScript:

var myModule = angular.module('myModule', []);
myModule.config(['$routeProvider', function($routeProvider) {
    $routeProvider.
        when('/test1', {templateUrl: 'test1.html', controller: Test1Ctrl}).
        when('/test2', {templateUrl: 'test2.html', controller: Test2Ctrl}).
        otherwise({redirectTo: '/test1'});
}]);

function Test1Ctrl($scope, $http) { $scope.header = "Test 1"; 
                                  /* ^ how can I put this in title and h1 */ }
function Test2Ctrl($scope, $http) { …
Run Code Online (Sandbox Code Playgroud)

javascript templates partial-views angularjs angular-routing

410
推荐指数
12
解决办法
25万
查看次数

ng-cloak指令过早被删除

我有一个angular-js应用程序,其中包含一些最初不应显示的控制器.尽管我使用了ng-cloak,它们仍在屏幕上闪烁.问题似乎是编译被调用并删除ng-cloak指令和类,这使得控制器内容可见,即使它不应该是因为ng-show是false.

如果我在ng-cloak的编译方法中暂停js执行,我可以看到元素出现,因为删除了ng-cloak指令.如果我在控制器中暂停js执行(例如在"$ scope.visible = false;"上),我可以看到控制器在页面上保持可见.然后控制器再次不可见,因为它应该在稍后加载时.

  • 我在文档HEAD中加载我的app.js和angular.js
  • 我在文档HEAD中有我的CSS
  • 我在我的外部css和内联中包含了ng-cloak css规则和"!important"

如何防止这种闪烁?为什么ng-cloak不尊重ng-show?

index.html的:

<div ng-cloak class="ng-cloak" ng-controller="RoomsController" ng-show="visible">
    <h1>This flashes, it can be seen if we set a breakpoint in the controller js, or after the ng-cloak directive's compile method in angular.js</h1>
</div>
Run Code Online (Sandbox Code Playgroud)

app.js:

app.controller('RoomsController', ['$scope',
    function ($scope) {
        $scope.visible = false;
    }
]);
Run Code Online (Sandbox Code Playgroud)

html javascript angularjs angularjs-directive

9
推荐指数
2
解决办法
5986
查看次数

ng-cloak对于角度ui-router在模板解析时隐藏元素没有帮助

我正在使用角度ui-router.

我想展示一些东西 <div ng-show="total > 0">

在下载并立即显示模板时,我们可以在控制器加载之前看到div的闪烁$scope.total =.

有人会认为这$scope.total在开头是未定义的,因此div将被隐藏,但我认为模板尚未解析,它只是显示原始的.我尝试使用ng-cloak但它似乎没有帮助.Ngcloak应该在angular启动时使用,但我使用的是ui-router,因此角度堆栈已经加载.如何在不借助ui-router解析的情况下隐藏模板上的元素?

我正在使用角度1.2.8和ui-router 0.2.7.

angularjs angular-ui-router

9
推荐指数
1
解决办法
6068
查看次数