相关疑难解决方法(0)

AngularJS中范围原型/原型继承的细微差别是什么?

API参考范围页面说:

范围可以从父范围继承.

开发者指南范围页说:

范围(原型)从其父范围继承属性.

那么,子范围是否始终从其父范围继承原型?有例外吗?当它继承时,它是否总是正常的JavaScript原型继承?

javascript inheritance prototype prototypal-inheritance angularjs

1018
推荐指数
3
解决办法
15万
查看次数

ui router - 具有共享控制器的嵌套视图

我有一个抽象的父视图,旨在与其嵌套视图共享一个控制器.

.state('edit', {
    abstract: true,
    url: '/home/edit/:id',
    templateUrl: 'app/templates/editView.html',
    controller: 'editController'
})
.state('edit.details', {
    url: '/details',
    templateUrl: 'app/templates/editDetailsView.html'
})
.state('edit.info', {
    url: '/info',
    templateUrl: 'app/templates/editInfoView.html'
})
Run Code Online (Sandbox Code Playgroud)

路由按预期工作.

问题是当我$scope从其中一个嵌套视图更新变量时,更改不会反映在视图中.当我从父视图中执行相同操作时,它可以正常工作.这不是需要的情况$apply.

我的猜测是editController为每个视图创建了一个新实例,但我不确定为什么或如何修复它.

angularjs angular-ui-router

32
推荐指数
2
解决办法
4万
查看次数

访问Angular-UI-Router的ScopeExout?

我正在寻找以下可能性:

$stateProvider.state('user', angularAMD.route({
        url: '/user/:id',
        templateUrl: 'views/user.html',
        controllerUrl: 'views/user',
        controller: 'UserCtrl',
        onExit: function () {
            alert ("exit user");
           // call scope function saveCurrentStateData();

        }
    }));
Run Code Online (Sandbox Code Playgroud)

saveCurrentStateData()通过后端定义的REST-Service 存储一些范围数据(例如$ scope.my.data).

编辑:你能不能给我一个解决方案,而$scope.$on ('destroy',..可能与决心 UI路由器的性能?为什么我不能使用onExit,为什么它在这里?

state enter exit angularjs angular-ui-router

7
推荐指数
1
解决办法
8027
查看次数

UI路由器多视图单个控制器不起作用

我想使用视图中定义的一个控制器,但$scope没有定义任何东西.有没有办法做到这一点?请分享一个简单的例子以便理解.

我有这个index.html

<body ng-app="ehc">
<h1>{{home}}+{{a}}+{{b}}</h1>
<ion-side-menus enable-menu-with-back-views="false" delegate-handle="left">
    <!-- Left menu -->
    <ion-side-menu side="left" is-enabled="true">

            <ion-header-bar class="bar-stable">AAA</ion-header-bar>
            <ion-content>
                <div class="list">
                    <div class="item item-divider">
                        Candy Bars
                    </div>
                </div>
            </ion-content>


    </ion-side-menu>

    <ion-side-menu-content edge-drag-threshold="true" drag-content="true">
        <!-- Main content, usually <ion-nav-view> -->
        <ion-nav-bar class="bar-positive" >
            <ion-nav-title>
                <h2>hello world title *{{home}}*</h2>
            </ion-nav-title>
            <ion-nav-buttons side="left">
                <button class="button button-icon button-clear ion-navicon" menu-toggle="left"></button>
            </ion-nav-buttons>
        </ion-nav-bar>

            <ion-view>
                <ion-content class="has-header">
                    <div class="row">
                        <div class="col-50">
                            <div ui-view="a"></div>
                        </div>
                        <div class="col-50">
                            <div ui-view="b"></div>
                        </div>
                    </div>

                </ion-content>
            </ion-view>


</ion-side-menu-content>

<script type="text/ng-template" …
Run Code Online (Sandbox Code Playgroud)

state angularjs angular-ui-router ionic-framework ionic-view

5
推荐指数
1
解决办法
7132
查看次数

在ui-router中更改路径之前销毁范围

我用UI-Router路由.当我将路径从状态更改为另一个状态并返回到相同状态时,我看到状态中存在旧的$ scope (具有它的属性).

我想在状态改变之前销毁那个$ scope,所以当我第二次回到状态时,会有一个干净的新范围.我试图在这个事件中访问范围:

$rootScope.$on('$stateChangeStart', 
   function(event, toState, toParams, fromState, fromParams) {
     // fromState.$scope.$destroy();
});
Run Code Online (Sandbox Code Playgroud)

但是没有任何关于$ scope的参考.我可以在角度改变状态之前访问范围UI-Router吗?

javascript angularjs angularjs-scope angular-ui-router

4
推荐指数
1
解决办法
7218
查看次数