angularUI复制了我的功能

时间:2014-02-19 13:19:32

标签: angularjs angular-ui angular-ui-bootstrap

大家好,我的角度应用程序有一个奇怪的问题。我正在尝试使用bootstrap-ui模式,但每次使用它时,我的应用程序都会创建一个副本。我无法摆弄这个项目,因为它太大了,但我会尝试用一个例子更好地解释它。

模态代码:

<div ng-controller="modalCtrl">
<script type="text/ng-template" id="login.html">
    <div class="modal-header">
        <h3>Benvenuto</h3>
    </div>
    <div class="modal-body">
        <form ng-submit="login()">
            <input id="focusedInput" class="form-control" type="text" ng-model="data.username" placeholder="username" popover="inserisci qui il tuo username" popover-trigger="focus" popover-placement="right"><br>
            <input id="focusedInput" class="form-control" type="password" ng-model="data.password" placeholder="password"popover="inserisci qua la tua password" popover-trigger="focus" popover-placement="right"><br>
            <input class="btn-primary btn-lg" type="submit" value="Login">
        </form>
    </div> 
</script>

这是我的模态观点:

BIappCtrl.controller('modalCtrl',function ($scope, $modal) {
    var open = function () {
        var modalInstance = $modal.open({
                templateUrl: 'login.html',
                controller: this.loginCtrl
        });
    };
    open();
});

那就是控制器。它在技术上还不错,我的应用程序创建了模态,但它执行了两次,创建模式一个,所以我将关闭一个,每次我在它下面找到另一个。这个奇怪的事情发生了一次,当我尝试使用ui-route而不是ngRoute模块时,你有什么想法吗?

1 个答案:

答案 0 :(得分:0)

好的,我已经解决了问题,我会编写解决方案,即使它很简单。 错误是我的,我错误地理解了ngRoute模块,因此在我的app.js文件中,我为每个视图插入控制器,即使控制器也是在div中编写的。 这是错误:

BIapp.config(['$routeProvider',
  function($routeProvider) {
    $routeProvider
        .when('/menu', {
            templateUrl: 'views/menu.html',
            //controller: 'menuCtrl'
      }).when('/modal', {
            templateUrl: 'views/modal.html',
            //controller: 'modalCtrl'
      })
        .when('/search',{
            templateUrl: 'views/search.html',
            //controller: 'searchCtrl'
        })
        .when('/varie',{
            templateUrl: 'views/varie.html',
            //controller: 'varieCtrl'
        })
        .when('/logout',{
            templateUrl: 'views/logout.html',
            //controller: 'logoutCtrl'
        }).
        otherwise({
            redirectTo:'/menu'
        });

 }]);