gpt4 book ai didi

angularjs - Angular是否需要Web服务器才能运行?如果我给浏览器一个本地文件的URL,Angular是否可以工作?

转载 作者:行者123 更新时间:2023-12-03 12:15:37 26 4
gpt4 key购买 nike

我的意思是,我已经读到Angular允许使用模拟数据,因此不需要连接RESTFul api。我可以想到一个用例,其中UX设计人员只需要查看外观,而无需连接到Web服务器。我还可以想到其他用例。

所以Angular的工作是我给浏览器一个本地文件的URL,例如C:\ temp \ index.html,而js文件位于c:\ temp或说c:\ temp \ js。

所以实际上,我试过了,这里全都在一个应用程序文件中(我知道应该分开)

<html ng-app="myNoteApp">
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<body>

<div ng-controller="myNoteCtrl">

<h2>My Note</h2>

<p><textarea ng-model="message" cols="40" rows="10"></textarea></p>

<p>
<button ng-click="save()">Save</button>
<button ng-click="clear()">Clear</button>
</p>

<p>Number of characters left: <span ng-bind="left()"></span></p>

</div>

<script >
// was in separate file but pasted in for demo purposes
var app = angular.module("myNoteApp", []);

</script>
<script >
// was in separate file but pasted in for demo purposes
app.controller("myNoteCtrl", function($scope) {
$scope.message = "";
$scope.left = function() {return 100 - $scope.message.length;};
$scope.clear = function() {$scope.message = "";};
$scope.save = function() {alert("Note Saved:" + $scope.message);};
});
</script>
</body>
</html>

结果是,它可以在Chrome和Firefox中正常运行,IE最初会阻止内容,但可以允许它运行。

最佳答案

因此,我执行此操作的方法是创建一个临时服务,然后仅从url /文件中加载它。

例:

//tempUser.js
angular.module("app").constant("tempUser", {
firstname : "Joe",
lastname : "Smith"
});

//userService.js
angular.module("app").factory("userService", function ($q, tempUser) {
return {
load : load
};

function load(id) {
//TODO: finish impl
return $q.when(tempUser);
}
});

这样, Controller 仍然可以像从Web服务中加载一样工作。
angular.module("app").controller("UserDetailCtrl", function (userService) {
userService.load().then(function (user) {
$scope.user = user;
});
});

关于angularjs - Angular是否需要Web服务器才能运行?如果我给浏览器一个本地文件的URL,Angular是否可以工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31275527/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com