数组长度 内部功能不同
Array length Different in inner function
>我做了一个自定义指令。 现在我从 chips-break 属性传递字符串数据,并将其从链接方法转换为数组。 它工作完美。 但是当我在 ng-keydown 方法中获取数组长度时,情况就不同了。 请帮助我。 提前感谢:
.HTML
<input-chips chips-break="32, 13, 188" style="width:80%"></input-chips>
.JS
var app = angular.module("myApp", []);
app.directive("inputChips", inputChipsFun);
function inputChipsFun(){
return{
restrict : 'EA',
scope : {
chipsBreak : "@"
},
template: '<div class="chips"><div class="chips-item"></div><input type="text" ng-keydown="inputKeyDown($event, false)"/></div>',
link : function(scope, elem, attr){
scope.chipsBreak = scope.chipsBreak.split(",");
console.log("Length of Chips Break First Time = "+scope.chipsBreak.length);
scope.inputKeyDown = function($event, is_blur){
console.log("Length of Chips Break Key Press = " + scope.chipsBreak.length);
}
}
};
}
请参阅此链接 : https://plnkr.co/edit/RpDwaqjS81DZlZFEzdj2?p=preview打开检查元素控制台并键入一些内容并查看差异
当你使用'@'时,它会得到一个字符串,这就是为什么你得到长度== 11,因为你得到'32, 13, 188'字符串的字符数。
查看此帖子以获取更多详细信息在 AngularJS 的指令作用域中,"@"和"="有什么区别?
编辑:
link : function(scope, elem, attr){
var x = scope.chipsBreak.split(",");
console.log("Length of Chips Break First Time = "+scope.chipsBreak.length);
scope.inputKeyDown = function($event, is_blur){
console.log("Length of Chips Break Key Press = " + x.length);
}
}
如果你要做scope.chipsBreak = scope.chipsBreak.split(",")
你的scope.inputKeyDown
(这是一个函数(将得到scope.chipsBreak
的初始值,这是一个字符串。
相关文章:
- 需要原型内部或外部的功能
- 数组长度 内部功能不同
- 角度控制器功能不;在指令内部调用时,似乎无法始终如一地工作
- 访问内部功能范围的元素,而不是敲除中的外部
- AngularJS控制器内部的功能
- 重用if语句中的代码.(功能内部的功能是不良做法吗?)
- javascript:“;这个“;在内部功能中
- 在 velocit 内部的功能.js序列
- 节点:需要模块内部功能
- Javascript:在内部站点中添加搜索功能
- 主干.js内部触发事件功能.它是如何优化的
- 如何从控制器功能内部获取$scope
- 无法加载资源:服务器在绑定功能中以状态 500(内部服务器错误)进行响应
- JavaScript while 循环不执行内部功能
- 如何让网页内部的网页浏览器控件触发 vb.net Windows窗体的功能
- ajax内部访问类功能成功
- ES2015导出内部功能
- 使用AndroidDriver运行内部功能测试
- React原生路由器flux:覆盖组件内部的左键或右键,并访问本地功能
- 无法运行内部功能测试.错误:[POST http://localhost:4444/wd/hub/session] co