Rub*_*cer 1 angularjs angularjs-directive angularjs-scope
我正在尝试编写一个元素指令,我将其附加到控制器,以实现类似排序的行为.这是指令
.directive('sorting', function () {
return {
restrict: 'E',
scope: false, // I know I can omit this with no effect
template: function (elem, attr) {
return '<div><a href ng-click="setsort('+"'"+attr.sortkey+"'"+')">'+attr.headtext+'</a></div>'+
'<div ng-show="sortfield=='+"'"+attr.sortkey+"' || sortfield='-"+attr.sortkey+"'"+
'" ng-class="{'+"'sortreverse':sortreverse}"+'">▲</div>';
}
}
});
Run Code Online (Sandbox Code Playgroud)
setsort(sortkey),sortfield并且sortreverse属于控制器的范围.
预期的行为是,▲只有在为指定元素选择了排序时才应显示caret().
排序按计划工作,但插入符号显示在所有排序列中,我得到一个奇怪的错误消息,我没有找到任何可用的反馈.
错误说:
Error: [$parse:lval] Trying to assing a value to a non l-value
http://errors.angularjs.org/1.4.5/$parse/lval
minErr/
[....a whole stacktrace ...]
"<div ng-show="sortfield=='yn_equivalent' || sortfield='-yn_equivalent'" ng-class="{'sortreverse':sortreverse}">"
Run Code Online (Sandbox Code Playgroud)
有趣的事实:错误的第一行实际上是由angularjs拼写错误的(应该assign代替assing)
当被召唤时,最后一行是指令生成的输出的一部分:
<sorting sortkey="yn_equivalent" headtext="SomeText"></sorting>
Run Code Online (Sandbox Code Playgroud)
我对Angularjs不是很有经验,所以也许你需要更多的反馈,我很乐意给你.
有线索吗?
谢谢.
| 归档时间: |
|
| 查看次数: |
4691 次 |
| 最近记录: |