angularjs上下文根变量示例

时间:2016-02-02 12:32:08

标签: angularjs spring-mvc

我们使用角度js和spring mvc和jsp作为模板。我们想在角度js模块中访问上下文根变量(pageContext.request.contextPath)。有谁知道我们怎么能访问这个?一个好的工作实例将不胜感激。

2 个答案:

答案 0 :(得分:0)

在angular中有一个$ location服务,它表示URL作为方法集。您可以使用此服务获取网址详细信息。

假设您必须在指令中执行此操作,下面是一个简单的示例

    void init_buffer()
    {
        glGenBuffers(1, &(b.trifan));
        glBindBuffer(GL_ARRAY_BUFFER, b.trifan);

        GLfloat trifan[6][3] =
        {
            {0.0, 1.0, 0.0},
            {1.0, 0.0, 1.0},
            {-1.0, 0.0, 1.0},
            {-1.0, 0.0, -1.0},
            {1.0, 0.0, -1.0},
            {1.0, 0.0, 1.0}
        };

        glBufferData(GL_ARRAY_BUFFER, sizeof(GLfloat) * 3 * 6, trifan, GL_STATIC_COPY);


        //base of the pyramid as 2 triangles
        glGenBuffers(1, &(b.tribase));
        glBindBuffer(GL_ARRAY_BUFFER, b.tribase);
        GLfloat tribase[4][3] = 
        {
            {1.0, 0.0, -1.0},
            {-1.0, 0.0, -1.0},
            {1.0, 0.0, 1.0},
            {-1.0, 0.0, 1.0}
        };
        glBufferData(GL_ARRAY_BUFFER, sizeof(GLfloat) * 4 * 3, tribase, GL_STATIC_COPY);

        //colors
        glGenBuffers(1, &b.colors);
        glBindBuffer(GL_ARRAY_BUFFER, b.colors);
        GLfloat colors[6][3] = 
        {
            {1.0, 0.0, 0.0},
            {1.0, 0.0, 0.0},
            {1.0, 0.0, 0.0},
            {1.0, 0.0, 1.0},
            {0.5, 0.0, 1.0},
            {1.0, 0.0, 0.5},
        };
        glBufferData(GL_ARRAY_BUFFER, sizeof(GLfloat) * 3 * 6, colors, GL_STATIC_COPY);

        check_errors();
    }


...
//Inside my display function
glEnableClientState(GL_COLOR_ARRAY);
    glEnableClientState(GL_VERTEX_ARRAY);
    {
        glBindBuffer(GL_ARRAY_BUFFER, b.trifan);
        glVertexPointer(3, GL_FLOAT, 0, 0);

        glBindBuffer(GL_ARRAY_BUFFER, b.colors);
        glColorPointer(3, GL_FLOAT, 0, 0);

        glDrawArrays(GL_TRIANGLE_FAN, 0, 6);

        glBindBuffer(GL_ARRAY_BUFFER, b.tribase);
        glVertexPointer(3, GL_FLOAT, 0, 0);
        glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
    }
    glDisableClientState(GL_COLOR_ARRAY);
    glDisableClientState(GL_VERTEX_ARRAY);

答案 1 :(得分:0)

您不能将$ location注入配置函数,因为只有提供程序和常量可以注入配置块。我不太确定你的要求。但是你可以将它们注入运行块。

angular.module('app',[])
    .config(function(injectables){
//inject providers and constants
    })
    .run(function(inject $location){
//inject $location
});

以下链接简要介绍了配置和运行块

https://docs.angularjs.org/guide/module