尝试初始化用户输入的文本输入框但是收到错误。 $ scope可以在取消注释时设置intext。我已经破解了这种(有点),但我像往常一样缺少一些基本的东西。
控制台错误开始:'错误:$ scope.intext未定义',除非我指定了一个值。输入框专门用于用户输入。还注意到我可以指定'为什么'并且在我尝试拆分之前不会得到错误。
angular.module('myApp', [])
.controller('TextScreen', ['$scope', function($scope) {
//$scope.intext = "what";
var why = $scope.intext.split('-');
}]);
HTML
<div id="cont" ng-app="myApp">
<div ng-controller="TextScreen">
<input type="text" ng-model="intext" />
</div>
</div>
答案 0 :(得分:1)
原因是$scope.intext
未定义。 intext
。
目前还不清楚你要做什么,但我建议初始化intext
或将代码移动到函数中。像这样:
$scope.change = function() {
var why = $scope.intext.split('-');
};
<强> HTML 强>
<input type="text" ng-model="intext" ng-change="change()" />
像角度文档中建议的那样:
http://docs.angularjs.org/api/ng.directive:ngChange
或尝试使用ng-init
ng-init="intext= 'demo'"
<强>示例强>
<input type="text" ng-model="intext" ng-init="intext= 'demo'" />
0
答案 1 :(得分:1)
var why = $scope.intext.split('-');
正在立即处理,但当时$scope.intext
未定义,因此您无法在其上调用.split
。
如果您尝试对用户输入的值采取行动,则应该对其进行监视
$scope.$watch('intext', function(oldvalue, newvalue){
if(angular.isDefined(newvalue) && newvalue != oldvalue) //ensuring undefined should not processed
var why = newvalue.split('-');
});