我一直在寻找有人在angularjs/angular上的web应用程序中创建新组件的逻辑,但我想这更通用,可能适用于所有基于组件的前端框架.
我知道有一些原则,例如它应该是抽象的和可重用的,但是我已经在角度文档上看到每个单独的路径都看着一个特定的组件(这怎么可以重用).在创建新组件之前,我可能会问一些可靠的问题吗?
我有一个应用程序从角度2迁移到角度5.当我在本地部署它并通过http-server我没有错误启动它.
当我在我的虚拟机上部署它时会出现问题.部署后,当我在浏览器中打开它时,它会抛出以下错误:
TypeError:Object(...)不是_isAndroid中的函数(forms.js:920)
错误:未捕获(在promise中):TypeError:Object(...)不是函数TypeError:Object(...)不是_isAndroid中的函数(forms.js:920)
vm中的部署过程如下:
angular-cli我的机器(本地和虚拟机)具有完全相同的npm 5.8.0,@ angular-cli 1.7.3,我不使用package-lock.json.
最后,我必须提一下,在迁移之前,我有完全相同的部署过程.
你知道什么可能出错吗?
更新
我想出的是一个全新的虚拟机初始化(操作系统,节点等)
这是非常著名的浏览器错误。我知道已经对此进行了很多讨论,但是我注意到这是一个非常普通的错误,因此我想介绍一下我的问题。
我正在可以访问的服务器上进行简单的请求(获取,发布)。我的浏览器(chrome,firefox)给我Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at url (Reason: CORS header 'Access-Control-Allow-Origin' does not match 'null').错误。
当我使用某些(黑客)插件时,我得到的响应很好。
我尝试过的是在后端(在服务器上)添加:
header('Access-Control-Allow-Origin: *');
Run Code Online (Sandbox Code Playgroud)
在index.php文件中没有运气。还有其他想法吗?
我有一个带对象的数组.我需要为每个对象添加一个键,它将是一个其他对象的数组.
所以我的代码看起来像这样:
$scope.array = [];
$http.get(url).success(function(data) {
$scope.array = data;
// Now my array has some objects
var i = 0;
function() getSomeData(i) {
if(i<array[i].length()) {
$http.get(url + array[i].someKey).success(function(data){
$scope.array[i].push(data);
i++;
getSomeData(i);
})
}
}
})
getSomeData(0);
Run Code Online (Sandbox Code Playgroud)
但我得到了 Error:array.push is not a function
为什么会这样?
angular ×2
angularjs ×2
angular-cli ×1
cross-domain ×1
http ×1
httprequest ×1
javascript ×1
json ×1
linux ×1
npm ×1
php ×1
push ×1
reactjs ×1
vue.js ×1