AngularJS 中的自定义 orderBy 没有绝对字符串比较?
Custom orderBy in AngularJS without absolute string comparison?
我正在为我的系统构建一个小型 CSS 美化器,它只会在 CSS 处于特定顺序时构建。
这个想法是将 CSS 转储到文本区域中,并让应用程序生成代码的有序版本。
我设法做到了,但前提是粘贴在文本区域中的代码没有属性。
例如:
content
margin
font-size
会起作用的。
但如果它是具有属性的正确代码:
content: 'test';
margin: 10px;
font-size: 1em;
那就不会了
我认为失败的原因是比较函数只会将字符串视为完整字符串,而不是部分字符串。
这里是比较函数和a JS Bin.
$scope.customOrder = function (item) {
switch (item) {
case 'display':
return 1;
case 'flex':
return 2;
case 'flex-basis':
return 3;
case 'flex-direction':
return 4;
...
}
};
关于如何解决这个问题有什么想法吗?
在switch
之前解析属性名,像这样:
$scope.customOrder = function (item) {
var parsedItem = item.substr(0, item.indexOf(':'));
switch (parsedItem) {
case 'display':
return 1;
case 'flex':
return 2;
...
我正在为我的系统构建一个小型 CSS 美化器,它只会在 CSS 处于特定顺序时构建。 这个想法是将 CSS 转储到文本区域中,并让应用程序生成代码的有序版本。 我设法做到了,但前提是粘贴在文本区域中的代码没有属性。
例如:
content
margin
font-size
会起作用的。
但如果它是具有属性的正确代码:
content: 'test';
margin: 10px;
font-size: 1em;
那就不会了
我认为失败的原因是比较函数只会将字符串视为完整字符串,而不是部分字符串。
这里是比较函数和a JS Bin.
$scope.customOrder = function (item) {
switch (item) {
case 'display':
return 1;
case 'flex':
return 2;
case 'flex-basis':
return 3;
case 'flex-direction':
return 4;
...
}
};
关于如何解决这个问题有什么想法吗?
在switch
之前解析属性名,像这样:
$scope.customOrder = function (item) {
var parsedItem = item.substr(0, item.indexOf(':'));
switch (parsedItem) {
case 'display':
return 1;
case 'flex':
return 2;
...