可以't读取未定义的属性长度-AngularJS
Can't read property length of undefined - AngularJS
我的一个变量抛出未定义的结果,导致错误:
HTML:
<form ng-submit="search()">
<div class="input-group col-md-6 typeahead-wrapper">
<input type="text" ng-model="searchkeyword.keystring" class="typeahead">
<span class="input-group-btn">
<button class="btn btn-primary" id="goSearch" type="submit">
<span class="glyphicon glyphicon-search"></span>
</button>
</span>
</div>
</form>
这是控制器内部的功能:
$scope.search = function() {
//alert($scope.searchkeyword.keystring);
$http.get('myurl'+$scope.searchkeyword.keystring).then(sucesscalback,errorcalback);
function sucesscalback(response)
{
//some code
}
function errorcalback(failure)
{
//some code
}
我正在尝试实现typeahead,它运行得很好,但当我在控制器内粘贴以下代码时(在搜索功能之后/之前):
$scope.substringMatcher = function(strs) {
return function findMatches(q, cb) {
var matches, substrRegex;
matches = [];
substrRegex = new RegExp(q, 'i');
$.each(strs, function(i, str) {
if (substrRegex.test(str)) {
matches.push({ value: str });
}
});
cb(matches);
};
};
$scope.states = ['Connecticut', 'Delaware', 'Wisconsin', 'Wyoming'];
var myTypeahead = $('.typeahead').typeahead({
hint: true,
highlight: true,
minLength: 1,
},
{
name: 'states',
displayKey: 'value',
source: $scope.substringMatcher($scope.states)
});
我的密钥字符串返回未定义:
$scope.searchkeyword.keystring
substringMatcher在我看来是个问题。
谢谢你的帮助。
通过将substringMatcher封装在内部修复了问题
$.noConflict();
jQuery( document ).ready(function( $ ) {
// My code for substringMatcher
}
此处的来源
相关文章:
- AngularJS-使用'true'属性
- AngularJS指令出错-无法读取属性'编译'的未定义
- angularjs无法读取未定义的属性then
- AngularJS:如何用同一对象的另一个属性访问一个属性
- 如何在AngularJS工厂中正确声明对象属性
- 无法访问指令中的AngularJS属性
- 使用angularjs内置过滤器过滤代码中的特定属性
- angularjs如何从返回值中找到正确的属性
- 使用AngularJS动态更改css属性
- AngularJS-筛选对象中的选定属性
- Angularjs指令如何检测属性中的更改
- 将信息框作为HTML标签属性(AngularJS)添加到Google Maps Marker
- 如何访问返回的 json 对象的属性?(AngularJS)
- 无法读取未定义(表单验证)的属性 - angularjs
- 访问模板中输入元素的属性 - AngularJS
- 通过模型属性 AngularJS 获取节点元素
- 选择基于属性AngularJS的控制器
- 有条件地应用属性(AngularJS)
- 无法访问对象属性angularjs
- $scope是否继承$rootScope的属性?AngularJS.