向AngularJS目录添加JS变量
Adding a JS Variable to a AngularJS Directory?
我似乎无法让以下代码工作:
<script>alert(topic);</script> <!-- Outputs: "dynamics" -->
<div ng-include="'content/' + topic + '.html'"></div> <!-- Does not work. -->
我已经推断出变量是问题所在,因为以下代码确实有效:
<div ng-include="'content/' + 'dynamics' + '.html'"></div> <!-- Works. -->
有人知道我该怎么做吗?
更新:
按照Steffen的链接,我写了以下代码,但仍然没有运气:
<script>
alert(topic); // Outputs "dynamics"
var app = angular.module('myapp', []);
app.controller('MainCtrl', ['$scope', '$window', function ($scope, $window) {
$scope.topic = $window.topic;
}]);
</script>
<div ng-app="myapp" ng-controller="MainCtrl" ng-include="'content/' +
topic + '.html'"></div> <!-- Does not work. -->
谢谢。
基于Steffen的jsfiddle,以下是我如何将JavaScript变量传递给AngularJS并将其用于定义目录:
<script>
// Create module.
var app = angular.module('app', []);
// Add controller to module.
app.controller('MainCtrl', ['$scope', '$window', function ($scope, $window) {
$scope.topic = $window.topic;
console.log($scope.topic);
}]);
</script>
<div ng-app="app" ng-controller="MainCtrl" ng-include="'content/' +
topic + '.html'"></div> <!-- Works! -->
非常感谢大家的回答。:)
试试这个:
<div ng-include="'content/{{topic}}.html'"></div>
在angularjs中,使用double curly brace notation {{ }}
在HTML中确定variable are access
的范围。
尝试如下:
<ng-include src="topic"> </ng-include>
确保您已经定义了$scope.topic = "whateveryouwant"
;
-----------或----------------
你可以这样做:
<ng-include src="getTopic()"></ng-include>
控制器:
function AppCtrl ($scope) {
$scope.getTopic= function () {
return 'partials/whatever.html';
}
}
相关文章:
- JS变量返回的对象不是值
- 我怎么能让流星简单模式中的一个字段等于一个js变量,并且仍然让用户填写简单模式的其余部分
- 向AngularJS目录添加JS变量
- 在使用cq:include包含外部JS之前,如何在JSP中包含全局JS变量
- 将PHP数组传递给js变量
- 如何从谷歌脚本中获取JS变量
- 敲除js变量设置类似于调用函数
- 带破折号的Ractive.js变量
- jQuery在MVC应用程序中设置JS变量
- HTML按钮获胜't更改JS变量
- 在跨子域上将JS变量从子Iframe传递给父JSP
- 理解bootstrap.js变量声明
- 使用HTML标记中的JS变量在Javascript中动态创建HTML
- 访问JQuery中的vue-js变量
- AJAX将JSON数组保存到多个JS变量中
- 在构造控制器、服务等时作为函数参数传递之前列出的角度 JS 变量
- 将JS变量作为文本返回以发送到Google Analytics
- 将JS变量传递到php数组
- 如何将JS变量异步发送到Rails
- 正在读取JS变量