我使用CDN链接设置了mamp的角度。
一切都很好,我已经能够使用flex等。 但是,我正在尝试使用此处的底部演示:
https://material.angularjs.org/#/demo/material.components.bottomSheet
我自己尝试构建它以及直接从演示中获取代码,当我运行它时,没有任何按钮显示,它们只是显示为文本而我看到{{alert}}
附件是结果的屏幕截图imgur.com/9t5I5SY
<div ng-controller="BottomSheetExample">
<p style="padding-left: 20px;">
Bottom sheet can be dismissed with the service or a swipe down.
</p>
<div class="bottom-sheet-demo inset" layout="column" layout-sm="row" layout-align="center">
<md-button class="md-primary" ng-click="showListBottomSheet($event)">
Show as List
</md-button>
<div style="width:50px;"></div>
<md-button class="md-primary" ng-click="showGridBottomSheet($event)">
Show as Grid
</md-button>
</div>
<br/>
<b layout="row" layout-align="center center" layout-margin>
{{alert}}
</b>
</div>
如果任何人能告诉我为什么这不起作用,我将永远欠你的债。
谢谢!
答案 0 :(得分:1)
您的BottomSheetExample
控制器是bottomSheetDemo1
模块的一部分,但您不能将该模块包含在任何位置。将BottomSheetExample
和GridBottomSheetCtrl
控制器移动到StarterApp
模块中或将bottomSheetDemo1
模块作为依赖项包括在内,例如
var app = angular.module('StarterApp', ['ngMaterial', 'bottomSheetDemo1']);
答案 1 :(得分:0)
这里可能有不止一个答案。
我能够在本地重新创建你的错误,并使用Angular的开发版本,我发现它抱怨ng-app名称与angular.module名称不匹配,以及控制器'AppCtrl'(其中来自示例)也不匹配。阅读那里的错误,看看你的命名约定是否导致问题。
其次,您需要使用npm来安装(至少)轻量级本地服务器。这是必要的,因为您正在对HTML模板文件进行跨源请求。这是一个很好的选择:
npm install -g http-server
然后在您的网站root中运行:
http-server .
哪个应该在localhost:8080
给你一个本地服务器我认为另一种方法是将您的模板存储在同一个JavaScript文件中,但我无法肯定地说。也许试试两个?
编辑:根据您的错误,看起来Angular抱怨BottomSheetExample
不是函数(未定义)。
看看您的控制器是如何调用BottomSheetExample
的,请确保在主JS文件中调用控制器。
现在使用ng-app
属性执行相同的操作。这一行:
angular.module('bottomSheetDemo1', ['ngMaterial'])
应与前者共享命名约定。如果您已经声明了ng-app
属性,请考虑将此控制器作为该模块的子控制器,或完全单独的模块。 (请原谅我,如果我使用了错误的术语)。
例如,如果您的ng-app
属性等于starterApp
,那么您应该声明:
var app = angular.module('starterApp', ['ngMaterial'])
答案 2 :(得分:-1)
它的工作肯定。
一步一步
从此链接下载zip文件: - https://www.dropbox.com/s/ng97xnupazki052/laravel-angular.zip?dl=0
在html文件夹中解压缩zip文件。
======================设置完成=====================