$ state不是workig angularjs

时间:2016-11-01 21:58:32

标签: angularjs ionic-framework state rootscope angularjs-rootscope

我有2页,我想将第1页的变量传递给第2页。

page1.html

<ion-view ion-title="Home">
<ion-content>
    <label class="item item-input">
    <input type="text" placeholder="Enter a value" ng-model="value">
    </label>

    <button class="button button-block button-positive" ng-click="me(value)" >
    Go to List
    </button>

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

这是控制器,我使用$ state转到第2页,我使用$ rootscope来使用page2Controller中的值

angular.module('starter.controllers', [])
.controller('page1Ctrl', function($rootScope ,$state ) {

    $rootScope.me = function(value)
    {
        $rootScope.value= value;
        $state.go('page2');
    };

});

问题是,当我点击第1页的按钮时 它没有带我到第2页 哪里是错误

这是州代码

.config(function($stateProvider, $urlRouterProvider){
$stateProvider  
.state('page1', {
    url: '/page1',
    templateUrl: 'templates/page1.html',    controller: 'page1Ctrl'})   

.state('page2', {
    url: '/page2',  
    templateUrl: 'templates/page2.html',    controller: 'page2Ctrl'})

$urlRouterProvider.otherwise('/page1');})

1 个答案:

答案 0 :(得分:3)

您没有将依赖项添加到

angular.module('starter.controllers', ['ui.router'])
.controller('page1Ctrl', function($rootScope ,$state ) {

    $rootScope.me = function(value)
    {
        $rootScope.value= value;
        $state.go('page2');
    };
});

并引用html文件中的js文件。

如果是离子框架,我建议您使用此link中的 ion-nav-view ,这样可以在更大程度上减少您的工作量,您的模块依赖于离子,如下所示

angular.module('starter', ['ionic'])