所以我有一个存储在控制器变量中的公司数据集.
$scope.companies = [
{
name: "first company",
type: ["a", "b"]
},
{
name: "second company",
type: ["b"]
},
{
name: "third company",
type: ["c"]
}
]
Run Code Online (Sandbox Code Playgroud)
然后我有我的列表,我想列出a或b的所有公司.我认为发送和数组将作为一个或语句.原来它更像是一个声明.
<ul>
<li ng-repeat="company in companies | filter:filters{type: ['a', 'b']}">
{{company.name}}
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
上面的代码将列出"第一家公司",而我希望它列出"第一家公司"和"第二家公司".我知道我可以在控制器中操作$ scope.companies数据集,但我想知道是否有任何"原生"方法来实现这一点.
最好的祝福!//理查德
在大型应用程序中,我们如何在需要时延迟加载模块,控制器和服务,而无需在index.html中加载它们.这里我指的是在相关模板html中加载整个js而不是在index.html中.(可能是具有模块,多个控制器,服务,给定功能的指令或具有多个控制器或服务的单个js文件的不同js)
我不想使用RequireJs.但是,我正在寻找角度本身的解决方案.
angular.module( 'my-second-module', ['ui.router'])
.config(function config($stateProvider) {
$stateProvider
.state('mainscreen', {
url: "/mainscreen",
templateUrl: "app/MyMain.tpl.html"
})
.state('mainscreen.sub', {
url: "/sub",
controller: 'subCtrl',
templateUrl: "app/sub.tpl.html"
})
})
.controller( 'subCtrl', function contractCtrl
($scope,$http,$route,$location) {
})
.controller( 'subTwoCtrl', function newContractCtrl($scope,someService,$http,$templateCache) {
.filter('myTypeFilter',function(){
return function (input,value){
return 'Normal';
};
})
.service('newService', function () {
var selectedContract = [];
var hotelObject=[{}];
return {
notes:function () {
},
addNote:function (noteTitle) {
}
};
})
.directive('autocomplete', function($parse) {
return function(scope, element, attrs) {
var setSelection = $parse(attrs.selection).assign; …Run Code Online (Sandbox Code Playgroud) 我想知道当我想在我的网络应用程序中使用angularJs(或类似)时,从后端获取数据的正确方法是什么?
我看到的唯一方法是使用来自后端的数据呈现html(带有js脚本的静态html - 例如angularjs),然后通过来自我的后端API的ajax请求下载数据.但我认为这个解决方案并不好,因为有许多HTTP请求:
例如,我有博客网站,我想在侧边栏上显示帖子,评论和相关帖子.所以我可能需要至少发出3个HTTP请求来获取数据,除非我准备API以在一个请求中获得所需的全部内容.
我还可以想象可能有更多HTTP请求的网站.这是一个正确的方法吗?它不会使服务器超载吗?或者我的思维方式错了?
我使用以下两个过滤器的组合首先从显而易见的原因(防止攻击)中删除用户输入的所有HTML,然后替换
标签中的所有\n .
<span data-ng-bind-html-unsafe="model.userInput | noHTML | newlines"></span>
Run Code Online (Sandbox Code Playgroud)
filters.filter('newlines', function () {
return function(text) {
console.log(text)
return text.replace(/\n/g, '<br/>');
}
})
filters.filter('noHTML', function () {
return function(text) {
return Boolean(text) ? text
.replace(/&/g, '&')
.replace(/>/g, '>')
.replace(/</g, '<') : '';
}
});
Run Code Online (Sandbox Code Playgroud)
问题是在角度1.2.2中不推荐使用bind-html-unsafe,并且必须使用$ sce(严格上下文转义)来"信任html",它返回一个函数,我显然无法应用这些过滤器.
新代码:
ctrls.controllers('someCtrl', function($scope, $sce){
$scope.trusterInput = $sce.trustAsHtml($scope.userInput);
});
Run Code Online (Sandbox Code Playgroud)
错误:
TypeError: Object [object Object] has no method 'replace'
at Scope.<anonymous> (http://localhost:8000/js/filters.js:20:20)
at fnInvoke (http://code.angularjs.org/1.2.2/angular.js:9756:21)
at OPERATORS.| (http://code.angularjs.org/1.2.2/angular.js:9271:59)
at extend.constant (http://code.angularjs.org/1.2.2/angular.js:9701:14)
at OPERATORS.| (http://code.angularjs.org/1.2.2/angular.js:9271:74)
at extend.constant (http://code.angularjs.org/1.2.2/angular.js:9701:14) …
在阅读下面的帖子并在角度js上工作一段时间后,我有一个简单的问题.
关注点(来自帖子):不要使用控制器来
操纵DOM - 控制器应该只包含业务逻辑.将任何表示逻辑放入控制器会显着影响其可测试性.Angular对大多数情况和指令进行数据绑定以封装手动DOM操作.
问题:如果我有一个简单的角度应用程序和按钮单击我调用我的控制器的功能.在该函数中,我想做一些简单的业务逻辑,并根据业务逻辑输出我想隐藏/显示一个按钮.
什么是最好的方法.
我目前这样做的方法是:PLUNKER EXAMPLE (这种做事的方式是否违反了角度js领域的规律.是否反对测试?请纠正我)
我有一个在该视图中使用父作用域的指令.该指令有一个使用隔离范围的子指令.我试图让父指令观察对子指令的ngModel所做的任何更改,并在更改时更新自己的模态.这是一个可能更好解释的jsfiddle:http://jsfiddle.net/Alien_time/CnDKN/
这是代码:
<div ng-app="app">
<div ng-controller="MyController">
<form name="someForm">
<div this-directive ng-model="theModel"></div>
</form>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
使用Javascript:
var app = angular.module('app', []);
app.controller('MyController', function() {
});
app.directive('thisDirective', function($compile, $timeout) {
return {
scope: false,
link: function(scope, element, attrs) {
var ngModel = attrs.ngModel;
var htmlText = '<input type="text" ng-model="'+ ngModel + '" />' +
'<div child-directive ng-model="'+ ngModel + '"></div>';
$compile(htmlText)(scope, function(_element, _scope) {
element.replaceWith(_element);
});
// Not sure how to watch changes in childDirective's ngModel ???????
}, // …Run Code Online (Sandbox Code Playgroud) javascript angularjs angularjs-directive angularjs-scope angular-ngmodel
我的内容是:
var content = new Dictionary<string, string>
{
{"pickup_date", pickupDate.ToString("dd.MM.yyyy HH:mm")},
{"to_city", "Victoria"},
{"delivery_company", "4"},
{"shop_refnum", parameters.Reference},
{"dimension_side1", "20"},
{"dimension_side2", "20"},
{"dimension_side3", "20"},
{"weight", "5"}
};
var httpContent = new FormUrlEncodedContent(content);
Run Code Online (Sandbox Code Playgroud)
如何从 httpContent 中提取内容?
我知道Silverlight自成立以来已经走了很长一段路,但我一直在努力寻找Silverlight的业务需求.Silverlight 4.0与现代html5以及jQuery或ExtJS等javascript库有什么优缺点?
我应该使用silverlight或html5和javascript的组合作为我的ui吗?
我有3个关于智能网络算法的主要问题(web 2.0)
这本书我正在阅读http://www.amazon.com/Algorithms-Intelligent-Web-Haralambos-Marmanis/dp/1933988665,我想更深入地学习算法
1.您可能关注的人(推特)
如何确定我的请求的最近结果?数据挖掘?哪种算法?
2.你如何连接功能(Linkedin)
简单的算法就是这样的.它利用两个节点之间的路径让之间说我和其他人是Ç. 我- > A,B - > A的连接件- "ç.它不是任何强力算法或任何其他类似的图算法:)
3.类似于你(Twitter,Facebook)这个算法类似于1.它只是简单地使用Twitter中的max(count)朋友(facebook)或max(count)粉丝吗?或他们实施的任何其他算法?我认为第二部分是正确的,因为运行循环
dict{count, person}
for person in contacts:
dict.add(count(common(person)))
return dict(max)
Run Code Online (Sandbox Code Playgroud)
在每个令人耳目一新的页面中都是愚蠢的
4.您的意思是(谷歌),我知道,他们可能有实现它语音算法 http://en.wikipedia.org/wiki/Phonetic_algorithm简单的同音 http://en.wikipedia.org/wiki/Soundex这里是谷歌工程副总裁兼首席信息官Douglas Merrill讲http://www.youtube.com/watch?v=syKY8CrHkck#t=22m03s
前三个问题怎么样?欢迎任何想法!
谢谢
我对Angular比较新,所以也许我问的很简单.我想加载一个Facebook评论框,我的想法是用Angular指令做到这一点.
这是我的HTML代码:
<div class="comments">
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/nl_NL/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
<facebook-Comments href="{{track.share_url}}"></facebook-Comments>
</div>
Run Code Online (Sandbox Code Playgroud)
这是我的指示:
angular.module( "CommentsDirectiveModule", [] )
.directive("facebookComments", function () {
return {
restrict: "E",
scope: {
code: "@href",
},
replace: true,
template: '<fb:comments href="{{ur}}" width="300" numposts="5" colorscheme="light"></fb:comments>',
link: function(scope) {
scope.$watch("code", function (newVal) {
if (newVal) {
scope.url = $sce.trustAsResourceUrl(newVal);
}
});
}
};
} …Run Code Online (Sandbox Code Playgroud) angularjs ×7
javascript ×2
algorithm ×1
backend ×1
c# ×1
dom ×1
extjs ×1
frontend ×1
httpclient ×1
httpcontent ×1
jquery ×1
lazy-loading ×1
module ×1
post ×1
requirejs ×1
soundex ×1
twitter ×1
web ×1