我已经在范围上定义了一个函数。 而当我从{{}}中的视图调用它时,它会执行X次。 调节器 function testCtrl($scope) { $scope.myFunc = function(name) { return "Hello " + name; } } HTML <div>{{myFunc('Joe')}}</div> 你可以在这个例子中看到它: http : //jsfiddle.net/rbRvD/2/ 或与Plunker: http ://plnkr.co/edit/LLQ7cKs2fEoBwv0C5XPE 我猜这是错误的,但为什么执行了这么多次呢?
我在我的应用程序中遇到了一个奇怪的错误。 它应该从对象中打印{{thing.title}} ,但是在控制台中显示错误: EXCEPTION: TypeError: l_thing0 is undefined in [{{thing.title}} in AppComponent@4:44] 我不确定l_thing0是从哪里来的。 如果我尝试在页面中显示{{thing}} ,则会显示[object Object] 。 如果我尝试JSON.stringify(this.thing) (请参阅showObj()函数),它正确显示string化的对象。 但是,如果我尝试访问像{{thing.title}}这样的属性,我会得到l_thing0未定义的错误。 这里是app.component.ts: import {Component, OnInit} from 'angular2/core'; import {Thing} from './thing'; import {ThingService} from './thing.service'; import {SubThingComponent} from "./subthing.component"; @Component({ selector: 'thing-app', template: ` <div class="container"> <div class="row"> <div class="col-md-12"> <h1>{{thing.title}} <a href="#" (click)="showObj()" class="btn btn-default">Show […]
我们有一个使用HTML5路线的AngularJS网站。 我只是做了一些testing“抓取谷歌”运行。 结果有点混乱: 在抓取选项卡上,我看到我们的网站,因为它看起来在视图源,所有的前端绑定{{}},而不是所有的HTML呈现 在渲染选项卡上,我们的网站看起来非常好,没有{{}}variables,看起来像谷歌机器人抓取和渲染的网站,这也许是符合这个http://googlewebmastercentral.blogspot.ae/2014/ 05 /渲染页面与提取作为google.html 。 不过,我们已经准备好让Google无法抓取我们的网站,所以我们已经添加了,所以Google bot会以“?_escaped_fragment_ =”重新访问我们的网页,我们遵循https://developers.google.com / webmasters / ajax-crawling / docs / getting-started (“3.处理没有哈希碎片的页面”)在我们的Nginxconfiguration中,我们有这样的内容: if ($args ~ "_escaped_fragment_=") { serve the static HTML snapshots } ,如果我们自己传递_escaped_fragment_ =,它确实可以正常工作。 但是,Google机器人从未尝试使用此参数来抓取我们的网站,因此它从不抓取快照。 我们错过了什么吗? 我们是否也应该在我们的Nginx conf上添加Google bot的代理检测? 像这样的东西? if ($http_user_agent ~* "googlebot|yahoo|bingbot|baiduspider|yandex|yeti|yodaobot|gigabot|ia_archiver|facebookexternalhit|twitterbot|developers\.google\.com") { server from snapshots } 如果我们能更好地理解这一点,那将是非常好的,非常感谢你! 更新: 我只是读了这个, http://scotch.io/tutorials/javascript/angularjs-seo-with-prerender-io?_escaped_fragment_=tag#caveats 。 所以,在使用手动工具(Google抓取)的时候,我们也应该把自己放在#! 或?_escaped_fragment_ […]
这里是我在AngularJS中的app.jspath文件 var app = angular.module('myApp', ['ngRoute', 'ngAnimate', 'toaster']); app.config(['$routeProvider', function ($routeProvider) { $routeProvider. when('/login', { title: 'Login', templateUrl: 'resources/views/layouts/loginUser.php', controller: 'authCtrl' }) .when('/', { title: 'Login', templateUrl: 'resources/views/layout/login.php', controller: 'logoutCtrl' }) .when('/reset', { title: 'Reset Password', templateUrl: 'resources/views/layouts/forgetPassword.php', controller: 'authCtrl' }) .when('/invalidtoken', { title: 'Login', templateUrl: 'resources/views/layout/invalidtoken.php', controller: 'authCtrl', role: '0' }) //$locationProvider.html5Mode(true); }]) .run(function […]
在Angular组件路由器文档中,我偶然发现了一个我从未见过的npm命令,我不明白是怎么回事: npm install @angular/router –save @angular/router是什么意思? 整个string是一个包名吗? 但是当我在npmjs.com上使用search时,我没有find这个包。 而且命令行search也没有返回这样的包: npm search @angular/router :No match found for "@angular/router" 那么npm中的@angular/某种前缀机制呢? 它是如何工作的?
这是我的代码: <div ng-show="?" ng-repeat="item in items | notEmpty"> </div> 过滤: Kb.filter("notEmpty", function(){ return function(input){ var output=[]; for(var i=0;i<input.length;i++){ if(input[i]){ output.push(input[i]); } } return output; }}); 我需要根据循环中过滤项目的数量显示/隐藏重复的s。 什么是最好的办法呢? 谢谢
angular度材料引入了一个新的dateselect器组件。 我希望这个组件返回的date格式是yyy-mm-dd,但我不确定这是如何完成的。 通过search,我发现$mdDateLocaleProvider可以使用,但我找不到使用它的例子。 有人可以告诉我一个格式化datemd-datepicker返回的date的工作示例?
这是我得到的错误消息: Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://www.youtube.com') does not match the recipient window's origin ('http://localhost:9000'). 我已经看到其他类似的问题,其中目标来源是http://www.youtube.com和收件人来源是https://www.youtube.com ,但没有一个像我的目标是https://www.youtube.com和来源是http://localhost:9000 。 我不明白这个问题。 问题是什么? 我该如何解决?
我需要做一些跨站点脚本。 下面的代码块包含jsonp的方法,该方法返回,如果它失败,但是当我改变它是一个获取请求,然后成功。 我需要能够使用jsonp方法成功响应。 以下可以排除。 响应是有效的json和这个参数是在url?callback = JSON_CALLBACK。 这里是我从做HTTP请求和执行此代码的代码块收到的JSON。 http响应状态码200 [{"cube":"1" ,"points":"160"},{"cube":"2","points":"690"},{"cube":"3","points":"331"}] 代码块 var myApp = angular.module('test', []); myApp.controller('UserCtrl', function($scope, users) { $scope.usersPerCube = users.getUsers(); }) myApp.factory('users', function($http) { return { getUsers: function() { var deferred = $q.defer(); var url = "http://localhost/api/api/index.php/analytics/UsersPerCube?callback=JSON_CALLBACK"; $http.get(url).success(function (data, status, headers, config) { console.log(data); deferred.resolve(data); }).error(function (data, status, headers, config) { […]
Ng-click在ng-repeat内不起作用。 它在外面工作。 我在这里放了一个小提琴 <div ng-controller="MyCtrl"> <a ng-click="triggerTitle='This works!'">test</a> <h5>Please select trigger event: [{{triggerEvent}}] {{triggerTitle}}</h5> <ul class="dropdown-menu"> <li ng-repeat="e in events"> <a ng-click="triggerTitle=e.name; triggerEvent = e.action;">{{e.action}} – {{e.name}}</a> </li> </ul> </div>