PhoneGap中文网

 找回密码
 立即注册
查看: 15643|回复: 4
打印 上一主题 下一主题

在state中配置controller问题

[复制链接]

5

主题

24

帖子

119

积分

注册会员

Rank: 2

积分
119
跳转到指定楼层
楼主
发表于 2015-11-26 14:28:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在state里面配置了controller: home  然后在home里面有一个input ng-mode为a 在JS中的controller中的$scope.a 并不能获取到a的值。打印出来是undefined.

但是如果我不在state里面配置controller,直接把controller写在ion-content上,a的值能获取。(但我不能这么写,这样写的话不能用到$ionicView.beforeEnter方法)

.state("home", {
    url: "/home",
    templateUrl: "templates/home.html",
    controller:"home"
})
.controller("home",["$scope","$rootScope","data","$ionicLoading","$state","$ionicHistory",function($scope,$rootScope,data,$ionicLoading,$state,$ionicHistory){
    $scope.$on('$ionicView.beforeEnter', function() {
        $ionicLoading.show({
            template: '加载中...'
        });
        
        $scope.a = function(){
            console.log($scope.asd);
        }
    });
}])
<ion-view view-title="...">
    <ion-nav-buttons side="left">
        <button class="button button-icon button-clear ion-navicon" menu-toggle="left"></button>
    </ion-nav-buttons>
    <ion-content>

        <input type="text" ng-model="asd">
        <button ng-click="a()">aaa</button></ion-content></ion-view>
回复

使用道具 举报

27

主题

172

帖子

597

积分

高级会员

Rank: 4

积分
597
沙发
发表于 2015-11-26 14:45:22 | 只看该作者
首先需要在controller 中定义 $scope.asd=''   然后才可以获取到这个值
回复 支持 反对

使用道具 举报

5

主题

24

帖子

119

积分

注册会员

Rank: 2

积分
119
板凳
 楼主| 发表于 2015-11-26 14:48:06 | 只看该作者
跨平台移动开发 发表于 2015-11-26 14:45
首先需要在controller 中定义 $scope.asd=''   然后才可以获取到这个值

我在input上不是已经有了ng-model="asd"吗? 只是一个input,在ng中的双向绑定嘛,input输入值,然后$scope.asd获取,这是ng的基本双向绑定? 怎么在这里就不行了?
如果按照你说的先定义的话,肯定打印出来就是定义的值,而不是input输入的值。
回复 支持 反对

使用道具 举报

5

主题

24

帖子

119

积分

注册会员

Rank: 2

积分
119
地板
 楼主| 发表于 2015-11-26 16:45:31 | 只看该作者
以为是自己代码影响到了,我重新建了一个项目,就用ionic最开始的文件做了下试验。
.controller('DashCtrl', function($scope) {
  $scope.asd = "";
  $scope.a = function(){
    console.log($scope.asd);
  }

})

tab-dash.html里面的

<input type="text" ng-model="asd" ng-change="a()">

最后打印依然是空,我是哪里写错了吗? 我在写其他ng项目的时候这样写是ok的。
回复 支持 反对

使用道具 举报

5

主题

24

帖子

119

积分

注册会员

Rank: 2

积分
119
5#
 楼主| 发表于 2015-11-26 17:02:08 | 只看该作者
百度了一下午,终于在https://www.zhihu.com/question/36960249 这里找到解决办法,有遇到的可以看看哈。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

ionic4视频教程

Archiver|手机版|小黑屋| PhoneGap中文网 ( 京ICP备13027796号-1 )  

GMT+8, 2025-1-5 09:44 , Processed in 0.074876 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表