小编use*_*584的帖子

为什么AngularJS ng-view不能在本地工作?

我已经工作了几个小时来获取我的链接,使用我的AngularJS应用程序点击进入不同的视图.

但是,我似乎只能在Plunker上获得在线工作的功能.

我一直在尝试在本地测试我的机器上的点击功能,而ng-view似乎没有加载.当我下载我知道的Plunker代码是正确的,因为它正在使用Plunker时,ng-view似乎在本地托管后退出工作.

我也有类似的问题,我已经将ng-include和指令定义为他们自己的HTML标签.

有没有理由这些不能在我的电脑上本地工作?(还有一种方法可以用来测试它吗?)

如果您愿意,可以在这里查看我在Plunker上谈论的一些代码.

html angularjs angularjs-directive angularjs-ng-include

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

AngularJS中的2D数组$ Index

我正在开发一个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)

javascript angularjs angularjs-ng-repeat

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

将AngularJS与innerHTML一起使用

我有一些AngularJS东西,它包含一堆数组和数据.用户上传文件后,文件将被解析并保存到具有不同数组的范围中.但是,在完成所有这些并且文件保留在作用域中之后,我尝试更新innerHTML,但AngularJS代码不起作用.我ng-repeat用来创建一个基于数组的表,但它仍然是一个单元格,内容看起来像{{column}}等.

我不得不使用指令和模板极端困难,因为我的index.html说appmodule等,是不确定的,当我做一些事情,如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: 当我包含它时,我仍然收到$ …

javascript angularjs total.js

5
推荐指数
1
解决办法
3万
查看次数

AngularJS错误:不可分配的模型表达式

看到这个问题问了几次,但我看不出答案如何适用于我的问题。尝试上传文件时,我一直收到此错误。

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)

angularjs

5
推荐指数
1
解决办法
7032
查看次数

循环从2D数组中在Javascript中创建对象键和值

我有两个数组,一个包含键,另一个包含数组,每个数组包含值.我想创建一个对象数组,其中每个对象都对键和值进行配对.为此,我创建了一个数组,现在我尝试在将对象推入数组之前创建并填充对象.我的代码看起来类似于:

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)

javascript arrays object

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

在Gameboy中为C创建一个二级计数器

所以我是C的新手,并被分配了制作游戏的任务.我将使用Gameboy模拟器,并且不鼓励导入任何超出基础的库.

我想想办法运行一个二级计数器(将在屏幕上显示),但无法使用该time.h库,我觉得有点卡住了.

无论如何我可以这样做吗?有人告诉我,Gameboy的运行速度相当缓慢,如果我能让它陷入一个"忙碌的循环",我可能会"大约一秒钟",并按照这种方式计算.

我已经考虑过这个sleep功能了,但那是在unistd.h库中.我也考虑过设置一个循环并计算高达1万(或任何数字可能需要一秒钟来计算),但所有这些都将同时发生在手头的游戏中,我担心这样的事情会延迟游戏玩法和其他事情的发生.

有什么建议?

编辑:我认为任何超出stdlib.hstdio.h不允许的事情.

c gameboy

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

移动到ng-include(AngularJS)时,搜索过滤器不再有效

在我的项目早期,我无法隔离我的一些观点,并且必须直接在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)

html javascript data-binding angularjs angularjs-filter

0
推荐指数
1
解决办法
935
查看次数

在Javascript中访问对象数组中的键

我目前正在使用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)

如何以迭代方式访问主题,提交者等?

javascript

-1
推荐指数
1
解决办法
128
查看次数