我已经工作了几个小时来获取我的链接,使用我的AngularJS应用程序点击进入不同的视图.
但是,我似乎只能在Plunker上获得在线工作的功能.
我一直在尝试在本地测试我的机器上的点击功能,而ng-view似乎没有加载.当我下载我知道的Plunker代码是正确的,因为它正在使用Plunker时,ng-view似乎在本地托管后退出工作.
我也有类似的问题,我已经将ng-include和指令定义为他们自己的HTML标签.
有没有理由这些不能在我的电脑上本地工作?(还有一种方法可以用来测试它吗?)
如果您愿意,可以在这里查看我在Plunker上谈论的一些代码.
我正在开发一个AngularJS应用程序,该应用程序使用该ng-repeat函数构建的2D数组构建电子表格.我正在编写一个函数,当用户在电子表格中输入新值时,该函数将更改数组的初始值.这要求我根据行索引和列索引访问初始数组中的点,以便将其更改为新值.
我查看了ng-repeat API,发现它有一个$index属性,允许我检查当前重复值的索引.但是,我发现它只会让我检查你所在的任何重复循环的值的索引 - 没有其他你可能也在的外部循环.
<script>
data = [
[A1, B1, C1],
[A2, B2, C2],
[A3, B3, C3]
]
sheet= function($scope, $parse){
$scope.columns = [colA, colB, colC];
$scope.rows = data.length;
$scope.cells = {};
$scope.outer = data.map(function(c,row){
return c.map(function(data, ind){
return {
content: data,
model: null,
};
});
});
};
</script>
<div ng-app ng-controller="sheet">
<table>
<tr class="column-label">
<td ng-repeat="column in columns">{{column}}</td>
<tr ng-repeat="inner in outer">
<td class="row-label" ng-repeat="data in inner">
<div>
<input type="text" ng-model="data.content" value="{{data.content}}"> …Run Code Online (Sandbox Code Playgroud) 我有一些AngularJS东西,它包含一堆数组和数据.用户上传文件后,文件将被解析并保存到具有不同数组的范围中.但是,在完成所有这些并且文件保留在作用域中之后,我尝试更新innerHTML,但AngularJS代码不起作用.我ng-repeat用来创建一个基于数组的表,但它仍然是一个单元格,内容看起来像{{column}}等.
我不得不使用指令和模板极端困难,因为我的index.html说app和module等,是不确定的,当我做一些事情,如app.directive(...
我的index.html文件的重要部分包括:
<html ng-app>
... //once a file is uploaded, total.js is called;
//this was so the app didn't try to run before a file was uploaded
<div id="someStuff">This will become a table once a file is uploaded</div>
Run Code Online (Sandbox Code Playgroud)
这是我在total.js中设置范围的一个简单示例:
function sheet($rootScope, $parse){
$rootScope.stuff = text;
//text is a variable that contains the file's contents as a string
};
document.getElementById('someStuff').innerHTML="<div ng-controller='sheet'>{{stuff}}</div>";
Run Code Online (Sandbox Code Playgroud)
HTML更改但不打印文件的内容,而是仅打印{{stuff}}.我如何让innerHTML理解它包含AngularJS,最好不使用partial或指令,除非你能彻底解释我输入它的位置及其语法.
编辑1: 我尝试使用$ compile但它被标记为未定义.我查看了这个以找出编译问题,但我不理解rtcherry的语法,以及我应该如何将它应用于我自己的代码.
编辑2: 当我包含它时,我仍然收到$ …
看到这个问题问了几次,但我看不出答案如何适用于我的问题。尝试上传文件时,我一直收到此错误。
Error: Non-assignable model expression: undefined (directive: fileReader)
我该如何解决?
我已经包含了所有相互交互的文件,即使我可以肯定在fileDirective.js中发生了错误
fileDirective.js。包含以下指令:
spreadsheetApp.directive('fileReader', function() {
return {
scope: {
file: '='
},
restrict: 'E',
template: "<input type='file' onchange='angular.element(this).scope().upload(this)'>",
link: function (scope, element, attrs) {
scope.upload = function (element) {
scope.$apply(function (scope) {
scope.file = element.files[0];
});
};
scope.$watch('file', function () {
if (scope.file) {
var reader = new FileReader();
reader.onload = (function (file) {
return function (env) {
scope.$apply(function () {
scope.file.contents = env.target.result;
});
}
}(scope.file));
reader.readAsText(scope.file);
}
}, true); …Run Code Online (Sandbox Code Playgroud) 我有两个数组,一个包含键,另一个包含数组,每个数组包含值.我想创建一个对象数组,其中每个对象都对键和值进行配对.为此,我创建了一个数组,现在我尝试在将对象推入数组之前创建并填充对象.我的代码看起来类似于:
var keys = [key1, key2, key3];
var values = [
[A-value1, A-value2, A-value3],
[B-value1, B-value2, B-value3],
[C-value1, C-value2, C-value3]
];
var arrayOfObjecs = [];
for(var i=0; i<values.length; i++){
var obj = {
for(var j=0; j<values[i].length; j++){
keys[j] : values[i][j];
}
};
arrayOfObjects.push(obj);
}
Run Code Online (Sandbox Code Playgroud)
最后,我希望我的arrayOfObjects看起来像这样:
var arrayOfObjects = [
{
key1 : A-value1,
key2 : A-value2,
key3 : A-value3
},
{
key1 : B-value1,
key2 : B-value2,
key3 : B-value3
},
{
key1 : C-value1,
key2 : C-value2,
key3 : …Run Code Online (Sandbox Code Playgroud) 所以我是C的新手,并被分配了制作游戏的任务.我将使用Gameboy模拟器,并且不鼓励导入任何超出基础的库.
我想想办法运行一个二级计数器(将在屏幕上显示),但无法使用该time.h库,我觉得有点卡住了.
无论如何我可以这样做吗?有人告诉我,Gameboy的运行速度相当缓慢,如果我能让它陷入一个"忙碌的循环",我可能会"大约一秒钟",并按照这种方式计算.
我已经考虑过这个sleep功能了,但那是在unistd.h库中.我也考虑过设置一个循环并计算高达1万(或任何数字可能需要一秒钟来计算),但所有这些都将同时发生在手头的游戏中,我担心这样的事情会延迟游戏玩法和其他事情的发生.
有什么建议?
编辑:我认为任何超出stdlib.h和stdio.h不允许的事情.
在我的项目早期,我无法隔离我的一些观点,并且必须直接在index.html中开发它们.具体来说,我的导航菜单.
现在我已经能够开始ng-include工作了,我想把我的菜单拉进nav.html.这完全没问题,但功能几乎完全符合预期.
但我的菜单中有一个搜索栏,不再起作用.最初,即使我的导航菜单直接在index.html内,它过滤的内容也在ng-view.我想要过滤的视图和导航都在同一个控制器下,我没有更改ng-view组件.但是现在我已经隔离了nav.html,搜索过滤器似乎不再具有约束力.
index.html:
...
<body>
<div ng-include="'views/nav.html'"></div>
<div ng-view></div>
...
</body>
...
Run Code Online (Sandbox Code Playgroud)
nav.html:
<div class="nav">
<div ng-controller="NavController">
...
<div class="searchbar">
<input type="text" name="input" value="Search" ng-model="search" />
<!--ng-model="search" is the binding component, as I understand-->
</div> <!--end searchbar div-->
...
</div> <!--end NavController div-->
</div> <!--end nav div-->
Run Code Online (Sandbox Code Playgroud)
table.html :(要过滤的内容ng-view)
<div ng-controller="NavController">
<table>
<tr class="title_bar">
<td>Title</td>
<td>A</td>
<td>B</td>
</tr>
<tr ng-repeat="item in listOfItems | filter:search">
<!--table rows should be filtered …Run Code Online (Sandbox Code Playgroud) 我目前正在使用Javascript开发一个项目.我有一个String对象数组,我想迭代.但是,我无法弄清楚如何访问对象的每个属性的Key.
例如:
var jsonDoc = [
{
"Subject": "XXXXXXX",
"Submitter": "X",
"Dx": "Affected",
"Sample Set": "Arab",
"Sex": "F",
"Pedigree": "0"
},
{
"Subject": "XXXXXXX",
"Submitter": "X",
"Dx": "Affected",
"Sample Set": "North American",
"Sex": "F",
"Pedigree": "0"
}
]
for( var i = 0; i<jsonDoc.length; i++){
for(var key in jsonDoc[i]){
document.write(jsonDoc[i][key]+"<br />");
}
document.write("--- <br />");
}
Run Code Online (Sandbox Code Playgroud)
但是,这只打印值而不是键:
XXXXXXX
X
Affected
Arab
F
0
---
XXXXXXX
X
Affected
North American
F
0
---
Run Code Online (Sandbox Code Playgroud)
如何以迭代方式访问主题,提交者等?
angularjs ×5
javascript ×5
html ×2
arrays ×1
c ×1
data-binding ×1
gameboy ×1
object ×1
total.js ×1