小编Noa*_*tas的帖子

使用使用angular.module()创建的AngularJS控制器.controller()

我仍然是AngularJS的新手,我正在设置我的第一个应用程序.我希望能够做到以下几点:

angular.module('App.controllers', [])
  .controller('home', function () {
    $scope.property = true;
  }]);

angular.module('App', ['App.controllers'])
  .config(['$routeProvider', function($routeProvider) {
    $routeProvider.when('/', {templateUrl: 'partials/home.html', controller: home});
  }]);
Run Code Online (Sandbox Code Playgroud)

使用此设置会生成以下错误:

Uncaught ReferenceError: home is not defined from App
Run Code Online (Sandbox Code Playgroud)

我的问题是:如何使用angular.module.controller()(或$controllerProvider.register()直接)注册控制器并在我的应用程序的其他地方使用注册的控制器.

我的动机:我想避免使用全局构造函数作为我的控制器(如使用angularjs.org时的大多数示例)或复杂的命名空间.如果我可以注册并使用控制器作为单个变量名称(不是那么放在全局范围内),那将是理想的.

angularjs

44
推荐指数
1
解决办法
3万
查看次数

如何在AngularJS中停止$ broadcast事件?

是否有内置的方法来阻止$broadcast事件沿着范围链走下去?

事件传递的事件对象$broadcast没有stopPropagation方法(就像$ rootScope提到的文档一样.)但是这个合并的pull请求表明$broadcast事件可以stopPropagation调用它们.

angularjs angularjs-scope

30
推荐指数
2
解决办法
2万
查看次数

如何设置Karma转轮代码覆盖率?

我试图让Karma亚军在Jenkins构建过程中生成cobertura格式的代码覆盖率报告.我可以让它生成一个coverage.xml文件,但它实际上没有任何覆盖数据.看起来(使用LOG_DEBUG)覆盖预处理器未运行.

karma.conf.js文件中的相关部分是:

files = [
  JASMINE,
  JASMINE_ADAPTER,
  'app/components/angular/angular.js',
  'app/components/angular-mocks/angular-mocks.js',
  'tmp/scripts/**/*.js',
  'tmp/spec/**/*.js'
];

preprocessors = {
  'tmp/scripts/**/*.js': 'coverage'
};

// test results reporter to use
// possible values: 'dots', 'progress', 'junit'
reporters = ['dots', 'junit', 'coverage'];

junitReporter = {
  outputFile: 'test-results.xml'
};

coverageReporter = {
  type: 'cobertura',
  dir: 'coverage/',
  file: 'coverage.xml'
};
Run Code Online (Sandbox Code Playgroud)

(junit报告正在生成.)

karma-runner

23
推荐指数
1
解决办法
3万
查看次数

AngularJS中的"计算属性"

我最近选择了AngularJS而不是ember.js来处理我正在进行的项目,并且到目前为止对它非常满意.关于ember的一个好处是它内置了对具有自动数据绑定的"计算属性"的支持.我已经能够使用下面的代码在Angular中完成类似的操作,但我不确定它是否是最好的方法.

// Controller
angular.module('mathSkills.controller', [])
  .controller('nav', ['navigation', '$scope', function (navigation, $scope) {
    // "Computed Property"
    $scope.$watch(navigation.getCurrentPageNumber, function(newVal, oldVal, scope) {
      scope.currentPageNumber = newVal;
    });
    $scope.totalPages = navigation.getTotalPages();
  }]);

// 'navigation' service
angular.module('mathSkills.services', [])
  .factory('navigation', function() {
    var currentPage = 0,
        pages = [];

    return {
      getCurrentPageNumber: function() {
        return currentPage + 1;
      },
      getTotalPages: function() {
        return pages.length;
      }
    };
  });

// HTML template
<div id=problemPager ng-controller=nav>
  Problem {{currentPageNumber}} of {{totalPages}}
</div>
Run Code Online (Sandbox Code Playgroud)

我希望UI能够currentPagenavigation服务发生变化时更新,上面的代码完成了.

这是解决AngularJS中此问题的最佳方法吗?使用$watch()这样的(重大)性能影响吗?使用自定义事件和 …

angularjs

21
推荐指数
3
解决办法
2万
查看次数

jQuery:$(this)vs. this.$()

在Ember.js的文档中,他们有一个jQuery代码片段,其语法如下:

this.$().button();
Run Code Online (Sandbox Code Playgroud)

这个片段只是变成this了一个jQuery对象,以便.button()可以在它上面调用jQuery UI 函数吗?

这个片段是否相同?

$(this).button();
Run Code Online (Sandbox Code Playgroud)

javascript jquery this ember.js

19
推荐指数
1
解决办法
1913
查看次数

无法在'Document'上执行'createElement':结果不能有子项

我现在通过polyfill使用自定义元素v1一段时间了.Chrome 54(具有本机v1实现的第一个版本)在初始化元素时开始抛出错误:

DOMException:无法在'Document'上执行'createElement':结果必须没有子节点

违规行很简单:

let el = document.createElement('my-custom-element');
Run Code Online (Sandbox Code Playgroud)

custom-element

16
推荐指数
1
解决办法
6980
查看次数

内容安全策略的connect-src指令是否允许您发出跨域请求?

connect-src在内容安全策略中指定指令是否会放宽浏览器的相同原始策略并允许您进行跨源XHR请求?或者此指令仅用于限制已经合法的XHR(即同一来源调用或CORS启用的调用)?

security browser-security content-security-policy

9
推荐指数
1
解决办法
2365
查看次数

Apache Solr:从solrconfig.xml设置HTTP响应标头用于CORS

是否可以设置从solrconfig.xml文件中发送自定义HTTP响应头?我认为可能可以添加一些配置到该<requestDispatcher>部分,因为它控制缓存头.

我确信这在servlet容器配置(Jetty,Tomcat等)中是可行的,但我想在Solr的配置文件中尽可能这样做.

如果这有任何区别,我试图为Access-Control-Allow-Origin来自不同主机的CORS AJAX请求设置标头.

ajax solr http-headers cors

7
推荐指数
1
解决办法
7334
查看次数

Web工作者是否增加(或减少)安全性?

网络工作者是否减轻或加剧了JavaScript和浏览器环境中的任何已知安全问题?

javascript security browser-security web-worker

6
推荐指数
1
解决办法
738
查看次数

是不是所有的JavaScript函数都是构造函数?

eval以一种奇怪的方式使用函数,作为构造函数.

try {
  var y = new eval()
} catch(error) {
    console.log("caught a " + error.name + ": " + error.message);
}
Run Code Online (Sandbox Code Playgroud)

它会抛出错误,

caught a TypeError: function eval() { [native code] } is not a constructor
Run Code Online (Sandbox Code Playgroud)

如错误消息所示,eval是一个函数,但不是构造函数.

问题是,不是所有的javascript函数都可以作为构造函数吗?

javascript eval

6
推荐指数
1
解决办法
99
查看次数

这个ES6代码有什么作用?

我正在查看源代码附带的redux todomvc示例,并且有一些我以前没见过的JavaScript表示法.我熟悉ES6 export语法,但不明白这段代码片段末尾的导出语句是做什么的.为什么App类与connect函数的结果相结合?

import React, { Component, PropTypes } from 'react'
import { bindActionCreators } from 'redux'
import { connect } from 'react-redux'
import Header from '../components/Header'
import MainSection from '../components/MainSection'
import * as TodoActions from '../actions'

class App extends Component {
  render() {
    const { todos, actions } = this.props
    return (
      <div>
        <Header addTodo={actions.addTodo} />
        <MainSection todos={todos} actions={actions} />
      </div>
    )
  }
}

function mapStateToProps(state) {
  return {
    todos: state.todos
  }
}

function mapDispatchToProps(dispatch) {
  return { …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 redux

4
推荐指数
1
解决办法
663
查看次数

在JavaScript中设置子类的.prototype

鉴于这段代码:

var SuperClass = function(a, b) {
  this.a = a;
  this.b = b;
};

SuperClass.prototype.getA = function() {
  return this.a;
};

var SubClass = function(a, b, c) {
  SuperClass.call(this, a, b);
  this.c = c;
};
Run Code Online (Sandbox Code Playgroud)

为了启动SubClass原型,大多数建议似乎如下:

SubClass.prototype = new SuperClass();
Run Code Online (Sandbox Code Playgroud)

对我来说,创建(实例化)一个新SuperClass对象(具有自己的属性ab属性)似乎很奇怪,只是作为它的原型SubClass.

这也有效:

// anti-pattern
SubClass.prototype = SuperClass.prototype;
Run Code Online (Sandbox Code Playgroud)

但它通过SuperClass.prototype引用传递对象,因此您添加到的任何内容SubClass.prototype也会添加到SuperClass.prototype,因为它们是同一个对象.在大多数情况下,这不是预期的行为.

问题:有没有办法实现正确的原型设计而不创建一个实例SuperClass作为SubClass基础原型?

javascript oop

1
推荐指数
1
解决办法
222
查看次数

JavaScript生成2个数字之间的所有数字

好吧,我对此进行了很多搜索,但是找不到关于它如何工作的详尽文档,如果有人可以举一个例子来说明如何做到这一点,那将是很棒的

javascript

1
推荐指数
1
解决办法
5199
查看次数