Angularjs 动态生成的下拉菜单不工作
我需要从后端获得一个复杂的下拉菜单,并在angular应用程序中显示它。除了一件事:动态生成的下拉菜单不起作用外,一切正常 index.htmlAngularjs 动态生成的下拉菜单不工作,angularjs,twitter-bootstrap,drop-down-menu,angular-ui-bootstrap,Angularjs,Twitter Bootstrap,Drop Down Menu,Angular Ui Bootstrap,我需要从后端获得一个复杂的下拉菜单,并在angular应用程序中显示它。除了一件事:动态生成的下拉菜单不起作用外,一切正常 index.html <!DOCTYPE html> <html ng-app="BlogApp"> <head> <title>Blog</title> <meta charset="utf-8"> <meta name="viewport" content="width
<!DOCTYPE html>
<html ng-app="BlogApp">
<head>
<title>Blog</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.28/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/0.10.0/ui-bootstrap-tpls.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.28/angular-sanitize.min.js"></script>
<script src="test.js"></script>
</head>
<body ng-controller="tagsCtrl" >
<nav class="navbar navbar-default" role="navigation">
<div class="navbar-header">
<button type="button" class="navbar-toggle" ng-init="navCollapsed = true" ng-click="navCollapsed = !navCollapsed">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a id="a-blog-path" target="_self" class="navbar-brand" href="#">Blog</a>
</div>
<div class="collapse navbar-collapse" ng-class="!navCollapsed && 'in'" ng-click="navCollapsed=true">
<ul class="nav navbar-nav" ng-bind-html="topLeft">
</ul>
<ul class="nav navbar-nav navbar-right">
<li dropdown>
<a class="dropdown-toggle" href="#"> test <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="#">finger</a></li>
</ul>
</li>
</ul>
</div>
</nav>
</body>
</html>
<div ng-controller="MyCtrl">
Hello, {{name}}!
<div ng-bind-html="my_html | to_trusted"></div>
</div>
test.js
angular.module('BlogApp', ['ui.bootstrap', 'ngSanitize'],
function($locationProvider){
$locationProvider.html5Mode(true);
})
.controller('tagsCtrl', ['$scope', '$location', '$http', '$sce',
function ($scope, $location, $http, $sce) {
$scope.topLeft = '<li><a class="dropdown-toggle" href="#"> test <b class="caret"></b></a><ul class="dropdown-menu"><li><a href="#">finger</a></li></ul></li>';
}]);
我有密码
在本例中,topLeft菜单下拉菜单不起作用,但topRight菜单工作正常
我如何解决这个问题
谢谢
UPD:解决了 index.html
<!DOCTYPE html>
<html ng-app="BlogApp">
<head>
<title>Blog</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.28/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/0.10.0/ui-bootstrap-tpls.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.28/angular-sanitize.min.js"></script>
<script src="test.js"></script>
</head>
<body ng-controller="tagsCtrl" >
<nav class="navbar navbar-default" role="navigation">
<div class="navbar-header">
<button type="button" class="navbar-toggle" ng-init="navCollapsed = true" ng-click="navCollapsed = !navCollapsed">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a id="a-blog-path" target="_self" class="navbar-brand" href="#">Blog</a>
</div>
<div class="collapse navbar-collapse" ng-class="!navCollapsed && 'in'" ng-click="navCollapsed=true">
<ul class="nav navbar-nav" ng-bind-html="topLeft">
</ul>
<ul class="nav navbar-nav navbar-right">
<li dropdown>
<a class="dropdown-toggle" href="#"> test <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="#">finger</a></li>
</ul>
</li>
</ul>
</div>
</nav>
</body>
</html>
<div ng-controller="MyCtrl">
Hello, {{name}}!
<div ng-bind-html="my_html | to_trusted"></div>
</div>
app.js
var myApp = angular.module('myApp',[]);
angular.module('myApp')
.filter('to_trusted', ['$sce', function($sce){
return function(text) {
return $sce.trustAsHtml(text);
};
}]);
function MyCtrl($scope) {
$scope.name = 'Superhero';
$scope.my_html = '<label><b>Hello </b> <input type="text" value="world !"></label>';
}
请查看解决方案。我用另一种方法解决此任务 html:
感谢您的回复!我编辑我的plunker-下拉菜单仍然无法使用过滤器。