AngularJs ::在视图和参数之间共享数据

时间:2015-12-31 13:56:23

标签: angularjs ionic-framework

我正在创建一个带有Ionic Framwork的应用程序。 前面没问题,我使用$ stateProvider进行了视图转换。

但我需要做APP功能和其他功能。我有两个主要问题

1)通过href=""

传递参数

2)在视图转换之后执行某些功能e处理数据时显示新视图上的信息。

无法继续下去,因为我是Angular的新手,而我搜索的其他例子并不具体。 这就是我到目前为止所做的事情::

INDEX.HTML

<body ng-controller="AppController as controller">
<ion-view title="View1"><ion-content>
   <a href="#/view2" ng-click="controller.test1">
      <button class="button-style">TEST 1</button>
   </a>
   <a href="#/view2" ng-click="controller.test2">
      <button class="button-style">TEST 2</button>
   </a>
</ion-content></ion-view>
...

View2.HTML

<ion-view title="View2"><ion-content>
   <input type="text" value="{{controller.parameter}}" />
</ion-content></ion-view>

APP.JS

app.config( function($stateProvider, $urlRouterProvider){
    $stateProvider
        .state('view2',{
            url:'/view2',
            templateUrl:'views/view2.html'
    })

...

app.controller('AppController', ['$scope', function($scope){
    parameter = '';
    this.test1 = function(){
        alert('test1');
        parameter = 'One';
    };

    this.test2 = function(){
        alert('test2');
        parameter = 'Two';
    };
}]);

我已经尝试了很多。但现在只是在猜测:(

我不明白Controllers和$ scope是如何工作的。我看过一些使用工厂和服务的例子,即使CodeSchool(顺便说一句,很棒)也不能帮助我......

那么,任何善良的灵魂都可以带来一些亮点吗?

抱歉我的拼写错误的英文

1 个答案:

答案 0 :(得分:3)

首先,您应该在<a>代码中使用ui-sref属性(因为您使用状态,尽管使用href也可以),如下所示:

<a ui-sref="view2"></a>

如果您想传递参数,则必须配置state的{​​{1}}以接受参数:

url

要访问控制器中的url: '/view2/:parameter' ,您还需要将parameter注入您的控制器:

$stateParams

您可以通过app.controller('AppController', function($scope, $stateParams) { }); 访问parameter,如下所示:

$stateParams.parameter