问题标签 [angular-template]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
427 浏览

angularjs - 从 javascript 中的 Angular 模板获取 HTML 输出

我有一个角度模板,我希望能够从 javascript 函数中访问处理后的 HTML。

例如,如果模板位于 templateUrl 下

HTML类似于

是一种在不使用所有指令开销的情况下调用和处理该模板的方法吗?例如:

在这种情况下,我专门尝试解决第三方库在现有角度范围之外附加 DOM 元素的问题 - 所以我似乎无法将 HTML 设为指令。

如果有一种方法可以确保指令可以在页面上的任何地方工作,这也可能是有用的。

0 投票
2 回答
609 浏览

angularjs - 如何根据AngularJS中的范围重定向到不同的模板?

我想根据我的范围有一个不同的模板。

目前,我只有一个名为 : 的模板,view-project.html可通过此 url 访问 : #/project/:id

现在,我需要两个模板 :view-project-1.htmlview-project-2.html. 我需要他们保持相同的网址:#/project/:id

例如,如果我的 $scope.template = 1,我想view-project-1.html与这个 url一起使用#/project/300。如果$scope.template = 2我想使用view-project-2.html这个 url #/project/300

有可能这样做吗?

0 投票
1 回答
1288 浏览

javascript - Angular 路由不会加载 templateUrl

我似乎无法使用 angularjs 路由加载 templateUrl。
使用 django 和 angularjs。
我要做的是转到127.0.0.1:8000/phones/,它将我重定向到127.0.0.1:8000/phones/#/
然后,我刷新,仔细检查。
在这两种情况下(第一次和刷新后)我只看到 TESTING 字符串。这是代码:

索引.html

第一个.html

从运行服务器控制台:

如您所见, angularjs 路由确实请求 HTML ,但仍然没有显示。

我的另一个问题是关于控制台输出。为什么它仅在我刷新时才发送(或仅显示)first.html 的 GET 请求?我期待路由在第一次请求 first.html ..

编辑 添加浏览器的控制台:

编辑#2 - 在更改为不缩小角度后添加浏览器的控制台:

谢谢你的时间

0 投票
1 回答
64 浏览

angularjs - 表格上方的 AngularJS 指令

我有表格和模板指令 rnRow

http://jsfiddle.net/49uFF/

和结果

  • < : >
  • - : +
  • 左右
  • 0 : 3
  • 1:2

但我想看看

  • 0 : 3
  • < : >
  • - : +
  • 左右
  • 1:2

我究竟做错了什么?

0 投票
2 回答
1823 浏览

angularjs - 如何从 Grails 插件提供的 JS 文件中指向 AngularJS 模板?

我有一个 Grails 应用程序,它引入了几个 Grails 插件。这些插件需要被其他几个 Grails 应用程序重用,而不仅仅是我自己的。

在其中一个 Grails 插件的资源包中,我定义了以下内容: 为了完整性而保留它,但我已经切换到 Asset-Pipline

在其中一个插件的 Javascript 文件中,我定义了以下指令:

它似乎可以很好地执行控制器,但是当它试图拉入模板时,它会窒息:

获取 /appname/directives/directivea/directivea.html 404(未找到)

这是有道理的,因为那不是部分模板所在的位置。但它会在哪里?如何将这些信息隔离在插件中,但可供所有下游应用程序使用?如果可以的话,我想避免定义内联模板。

**编辑以包含结构**

插件结构:

  • grails 应用程序
    • 会议
      • PluginNameForGrailsResources.groovy
      • BuildConfig.groovy
    • 控制器
      • PluginControllerA.groovy
      • PluginControllerB.groovy
    • 领域
      • PluginDomainA.groovy
  • 网络应用
    • css
    • 指令
      • 指令a
        • 指令a.js
        • 指令a.html
    • 服务
      • restapis.js
  • 应用程序属性
  • PluginNameForGrailsGrailsPlugin.groovy

引用我的插件的应用程序的结构:

  • grails 应用程序
  • 会议
    • BuildConfig.groovy
  • 控制器
  • 领域
  • 意见
    • 布局
      • 主文件
    • index.gsp(通过资源 r:require 标签引用指令)
  • 网络应用
  • css
    • main.css
  • js
    • index.js
  • 应用程序属性

**编辑以包含结构 POST-ASSET-PLUGIN-SWITCHOVER** 不再定义资源,BuildConfig.groovy 现在引用资产管道而不是资源,web-app 中不再有文件

  • grails 应用程序
    • 会议
      • BuildConfig.groovy
    • 控制器
      • PluginControllerA.groovy
      • PluginControllerB.groovy
    • 领域
      • PluginDomainA.groovy
    • 资产
      • javascripts
        • 指令a
          • 指令a.js
          • 指令a.html
        • 服务
          • restapis.js
      • 应用程序属性
      • PluginNameForGrailsGrailsPlugin.groovy
0 投票
1 回答
72 浏览

angularjs - 在重用指令的页面之间导航时指令未按顺序加载

我有两个使用相同控制器的单独页面。
我正在使用 ui 路由器状态在页面之间进行更改。
它们包含以下指令,这些指令按顺序将 templateUrl 用于模板:
Page A
directive_1
directive_2

页面 B
指令
_1指令_3 指令_4
指令
_2

每个指令都有一个数组 $scope.array,它以两种方式绑定到其父作用域 $scope.array,并且每个指令都将其指令编号添加到该数组。

每个指令还控制台记录“此处:”+指令编号。

我已经设置了一个监视函数来监视通用控制器上的 $scope.array 并在内部发生任何变化时打印出 $scope.array

现在,当我导航到页面 A 时,我在控制台中看到
Here: 1
[1]
Here: 2
[1,2]

当我离开然后翻页到页面 A 时,我在控制台中看到
Here: 1
Here: 2
[1,2]

所以手表功能只触发一次。

然后奇怪的事情发生了,当我到页面 B 时,我在控制台中看到
Here: 1
Here: 2
[1,2]
Here: 3
[1,2,3]
Here: 4
[1,2,3,4 ]

所以指令似乎没有按顺序加载!直观地说,最终的顺序是 1,3,4,2,就像指令在页面上的布局方式一样。

Angular 是否在模板之间进行智能比较,并得出一些指令已经加载并在尝试新指令之前立即执行这些指令的结论?

当我们第二次导航回页面 B 时,加载正常。到底是怎么回事?

0 投票
1 回答
382 浏览

angularjs - AngularJS:Angular UI Router 加载多个模板进行测试

我正在尝试对我创建的辅助函数执行一个简单的测试:

这是我正在使用的测试,请注意 getService 只是 Angularinject()函数的包装器:

我的路由器是这样的:

我正在尝试将当前状态设置posts.details_id1。然后测试我的辅助函数以查看它是否正确检索 ID。

但是,我在状态模板中遇到错误,如下所示:Unexpected request: GET /app/sections/posts/details/post-details.html

该状态posts.details是一个孩子,posts并且都有自己的模板,问题是我无法将两者都加载到templateCache或者至少我无法弄清楚如何这样做。

是否可以加载两个模板以完成测试?

0 投票
0 回答
66 浏览

angularjs - 由 api 填充的 Angular 指令

为什么当我使用这个指令时不起作用。当我只使用 select 时效果很好?

不工作

作品

我不明白为什么它不适用于覆盖选择的 div。这仅适用于 replace true

0 投票
2 回答
4944 浏览

javascript - 单个指令Angular JS中的可选/多个模板URL

我可以在两个模板 URL 之间选择一个吗?就像是 :

这样当我的 http 请求出错时,加载完全不同的模板。什么是最好的方法来做这样的事情。

0 投票
0 回答
48 浏览

javascript - Angularjs中的非重复模板

我见过的大多数 angularjs 模板都使用ng-repeator ng-options。我想要一个模板,我可以在按钮或其他东西的单击事件上传递一个对象,并且模板只呈现一次。就像我有如下模板一样

我想按照以下 jquery 代码的说明呈现此模板

确实,我想在单击带有 idlink1的 anhcor 标记时呈现模板。ngclick 用于单击事件处理(可以在 jquery 或 Angular 中使用 ngclick 完成)。我的目标是自己将对象传递给模板,而不是编写

上述方法本质上将在相关控制器的 $scope 变量中查找问题属性。但是我希望模板只为一个对象渲染,并且我希望在将要渲染的时候将对象传递给模板,而不是从 $scope 变量。

我怎样才能在 Angualr 中做到这一点?