2014-07-01 77 views
0

我试图让我的情况如何在我的情况下获得输入值?

通过NG-模型用户输入值我有

<div ng-controller="test"> 
    <input type="input" ng-model="title"/> 
    <button type="button" ng-click="save()">Save</button> 
</div> 

JS

app.controller('test', function ($scope) { 

    $scope.save = function() { 
     console.log($scope.title) -> undefined..... 
    } 
}) 

我不知道为什么$scope.titleundefined。我想获得输入值。任何人都可以帮助我吗?非常感谢!

+3

您是否尝试将您的

+0

@FelipeKM对不起,我的按钮实际上是在测试控制器内部。谢谢指出 – FlyingCat

+0

没有多大意义......如果该函数被调用,那么'title'肯定是在'$ scope'上的 - 如果你可以在小提琴中重现,我会感到惊讶 – tymeJV

回答

0

你应该初始化范围变量当控制器负载:

app.controller('test', function ($scope) { 
    $scope.title = ''; 
    $scope.save = function() { 
     console.log($scope.title) -> undefined..... 
    } 

})

-1

尝试注入如下您$范围:

app.controller("test", ["$scope", function ($scope) { 

    $scope.save = function() { 
     console.log($scope.title); 
    }; 

}]); 
+0

它基本上是一样的东西... –

+0

是的,我知道,但我只是试图揭露一个比特差异的情况下,因为我不能再现这里暴露的错误。 – felipekm

+0

这只是为了测试的缘故,它对$ scope或anyhitng else – Milad

0

大概一个范围问题,你按钮不属于“测试”控制器。 试试这个:

<div ng-controller="TestCtrl"> 
    <input type="input" ng-model="title"/> 
    <button type="button" ng-click="save()">Save</button> 
</div> 

看到正在运行的演示here

这是没有必要的初始化“称号”,NG-模型也为了您。除非你没有在输入中输入值,在这种情况下,ng-model将“title”初始化为undefined。

相关问题