小编use*_*761的帖子

用于ng-view的"Controller as"语法

我想知道我如何Controller as结合使用语法,ngRoute因为我无法做到ng-controller="Controller as ctrl"

angularjs ngroute

29
推荐指数
2
解决办法
5893
查看次数

AngularJS:如何在多个文件中创建控制器

我正在尝试将我的控制器分成多个文件,但是当我尝试在我的模块中注册它时我得到一个错误:

groupcontroller.coffee

app = angular.module('WebChat', []);
app.controller 'GroupController', ($scope) -> 
Run Code Online (Sandbox Code Playgroud)

usercontroller.coffee

app = angular.module('WebChat', []);
app.controller 'UserController', ($scope) -> 
Run Code Online (Sandbox Code Playgroud)

错误

错误:参数'GroupController'不是函数,未定义

从文档中我还没有真正得到模块方法所做的事情.它是否用"网聊"键存储我的控制器?

编辑: 似乎传递[]创建一个新模块并覆盖前一个模块

app = angular.module('WebChat', []);
Run Code Online (Sandbox Code Playgroud)

为了防止这种情况,你必须省略[]之类的

app = angular.module('WebChat');
Run Code Online (Sandbox Code Playgroud)

coffeescript angularjs

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

CORS和HTTP基本身份验证

如果包含Basic auth,预检HTTP请求会如何?喜欢以下对话?我无法理解哪些标头需要发送到哪里,也因为无法使用Firebug正确调试它

客户:

OPTIONS /api/resource HTTP/1.1
Access-Control-Request-Method: GET
Origin: http://jsconsole.com
Run Code Online (Sandbox Code Playgroud)

服务器:

HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, PUT, DELETE
Access-Control-Allow-Headers: Authorization
Access-Control-Max-Age: 1728000
Access-Control-Allow-Credentials: true
Run Code Online (Sandbox Code Playgroud)

客户:

GET /api/resource HTTP/1.1
Access-Control-Request-Method: GET
Access-Control-Allow-Credentials: true
Origin: http://jsconsole.com
Run Code Online (Sandbox Code Playgroud)

服务器:

HTTP/1.1 401 Unauthorized
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, PUT, DELETE
Access-Control-Allow-Headers: Authorization
Access-Control-Max-Age: 1728000
Access-Control-Allow-Credentials: true
WWW-Authenticate: Basic realm="Authorisation Required"
Run Code Online (Sandbox Code Playgroud)

客户:

GET /api/resource HTTP/1.1
Access-Control-Allow-Credentials: true
Authorization: Basic base64encodedUserAndPassword
Access-Control-Request-Method: GET
Origin: http://jsconsole.com
Run Code Online (Sandbox Code Playgroud)

服务器:

HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, …
Run Code Online (Sandbox Code Playgroud)

web-applications http basic-authentication cors asp.net-web-api

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

如何在Angularjs中广播对象?

如何通过事件广播对象?

目前我正在尝试:

app.run ($rootScope) ->
    message = {type: 'channel', action: 'create', data: { name: "ssss", id: 0}}
    $rootScope.$broadcast('message', message)

angular.module('WebChat').controller 'ChannelController', ($scope) -> 
    $scope.$on 'message', (message) ->
        console.log message
        console.log 'hi'
Run Code Online (Sandbox Code Playgroud)

但我没有输出

编辑 我得到了它的工作.似乎回调函数的第一个参数是范围.我不得不将控制器更改为:

angular.module('WebChat').controller 'ChannelController', ($scope) -> 
    $scope.$on 'message', (scope, message) ->
        console.log message
        console.log 'hi'
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

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

如何正确分离JavaScript视图/逻辑代码

我从带有update/create/delete标志的websocket接收JSON对象.根据这些信息,我要么更新,创建或删除HTML元素并绑定回调.这可能会影响多个HTML元素.

我目前的方法是将所有内容放入通过jquery处理HTML生成的特定对象,例如:

$.("<table>").addChild($("<tr>")).addClass('test')
Run Code Online (Sandbox Code Playgroud)

并绑定事件侦听器.但随着越来越多的代码的添加,它变得非常混乱,现在我正在寻找一种分离代码的正确方法.

有没有关于如何正确做到这一点的想法?构架?也许jQuery模板(这仍然让我在如何干净地添加回调的黑暗中)?

html javascript model-view-controller jquery templates

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

如何测试必须使用testacular和jasmine呈现的HTML

我想测试一个指令是否将正确的jquery函数绑定到DOM并且它们是否有效.

例如,我想测试一个元素在用$ .slideUp()滑动之后是否可见,或者我想在html输入上执行click事件.

似乎我需要以某种方式将编译的指令附加到DOM以实现这一点.我在youtube上观看了测试指令视频,他说这是可能的,但他并没有提到你是如何做到的.

我有点卡住了.

下面是失败测试的链接:http://plnkr.co/edit/PojXf8?p = preview

jasmine angularjs karma-runner

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

如何在lambda中使用泛型函数接口方法类型参数

我试图创建一个通用的lambda,所以我不需要为个别类型重新定义它.为此,我需要访问传递给函数的类型参数.不幸的是,我没有找到任何关于如何做到这一点的文档.

这是我想要做的一个例子,但在lambda的前面不会编译:

import java.util.ArrayList;

public class Test {

    interface SolveFunction {
        <In, Out> Out apply(In in);
    }

    public static void main(String...args) {
        SolveFunction f = <In, Out> (In a)  -> {
            ArrayList<Out> list = new ArrayList<>();
            return list;
        };
        System.out.println(f.<String, Integer>apply("Hi").size());
    }
}
Run Code Online (Sandbox Code Playgroud)

java generics lambda java-8

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