Angularjs 在ng compile上传递变量返回未定义 var suggestionElement=document.createElement('div'); vm.suggestivate=函数(keyCode){ 如果(键代码===32){ if(vm.summaryData){ var-words=vm.words; var建议=”; var targetElement=event.srcement; var targetElementModel=targetElement.getAttribute(“ng模型”); 对于(变量i=0;i
在Angularjs 在ng compile上传递变量返回未定义 var suggestionElement=document.createElement('div'); vm.suggestivate=函数(keyCode){ 如果(键代码===32){ if(vm.summaryData){ var-words=vm.words; var建议=”; var targetElement=event.srcement; var targetElementModel=targetElement.getAttribute(“ng模型”); 对于(变量i=0;i,angularjs,Angularjs,在vm.appendSuggestion方法的上述代码段中,为什么model返回为未定义?如果我在for循环期间记录它,它会返回一个值吗?我还想在vm.appendSuggestion方法中返回一个值。但是,我注意到,当它被硬编码时,它不会返回为未定义。当您单击分配了ngClick指令的div元素时,Angular尝试在$scope上查找targetElementModel,但它不存在。您不能像那样向它传递值 解决方案可能是向视图公开目标元素的列表,并执行类似于”的操作 var suggesti
vm.appendSuggestion
方法的上述代码段中,为什么model
返回为未定义?如果我在for循环期间记录它,它会返回一个值吗?我还想在vm.appendSuggestion
方法中返回一个值。但是,我注意到,当它被硬编码时,它不会返回为未定义。当您单击分配了ngClick指令的div
元素时,Angular尝试在$scope
上查找targetElementModel
,但它不存在。您不能像那样向它传递值
解决方案可能是向视图公开目标元素的列表,并执行类似于”的操作
var suggestionElement = document.createElement('div');
vm.suggestActivate = function(keyCode) {
if(keyCode === 32) {
if(vm.summaryData) {
var words = vm.words;
var suggestions = "<div></div>";
var targetElement = event.srcElement;
var targetElementModel = targetElement.getAttribute("ng-model");
for(var i = 0; i < 5; i++) {
$log.debug(targetElementModel);
suggestions += '<div ng-click="vm.appendSuggestion(targetElementModel)" style="padding: 10px; border: 1px solid #B0B0B0;" onMouseOver="this.style.backgroundColor=\'#D8D8D8\'" onMouseLeave="this.style.backgroundColor=\'#F3F3F3\'">' + words[Math.floor(Math.random() * words.length)] + '</div>';
}
suggestionElement.innerHTML = suggestions;
suggestionElement.setAttribute('style', 'background: #F3F3F3; position: relative; top: -3.9em; width: 25%');
suggestionElement.style.display = 'block';
angular.element(targetElement.parentNode).append($compile(suggestionElement)($scope));
}
}
else {
suggestionElement.style.display = 'none';
}
};
vm.appendSuggestion = function(model) {
$log.debug(model);
}