Ionic不反映父母范围的变化

时间:2015-05-13 09:28:27

标签: angularjs angular-ui-router ionic-framework angularjs-routing

我已经在.FormulaLocal完成了很多次,但不知道pure angular.js with ng-router

中的错误是什么

我想在父作用域上有一些$ ionic using ui-router属性/对象,我可以从子作用域读取和修改它们,它们可以反映每个地方(没有工厂),以便刷新国家之间的数据松散,我有共同的地方保持它

我尝试了什么:

我首先尝试将整个应用程序路由包含在div

scope

这没有帮助,所以我将app状态设置为<div ng-controller="appCtrl"> <div ui-view></div> </div> 状态和控制器,现在所有状态都从它继承

abstract

尝试时遇到问题:

问题是,假设我.state('app', { url: "/app", abstract: true, controller : 'appCtrl', templateUrl: "templates/app.html" }) .state('app.login', { url: "/login", parent:"app", //abstract: true, controller : 'loginCtrl', templateUrl: "templates/login.html" }) .state('app.form', { url: "/form/:selectedForm", //abstract: true, //reload:true, parent:"app", controller : 'formCtrl', templateUrl: "templates/selected-form.html" }) 上有一个属性$scope.selectedForm=21;,我可以正确访问它(在所有状态下显示21个),但是appCtrlcant modify it)它不反映

虚拟cotrollers

appctrl(父):

$scope.selectedForm=22;

formCtrl(子):

 .controller('appCtrl', function ($scope) {

        $scope.InspectedForms = [];
        $scope.currentForm= {}
        $scope.selectedForm=21;
    })

1 个答案:

答案 0 :(得分:3)

答案很明显,我怎么忘了dot rule

浪费了我几个小时想发布它,好像任何其他人都坚持这种问题

更改仅反映在objects and arraynot on primitive types

<强>父:

app.controller('Parentctrl',function($scope){
    $scope.parentprimitive = "some primitive value"
    $scope.parentobj = {};
    $scope.parentobj.parentproperty = "somevalue";
});

儿童:

app.controller('ctrlChild',function($scope){
    $scope.parentprimitive = "this will NOT modify the parent"
    $scope.parentobj.parentproperty = "this WILL modify the parent";
});

Here是有关继承的详细信息