我创建了一个新的聚合物项目。
通过终端mkdir project; cd project; polymer init;
然后创建一个应用程序抽屉模板。
将行为添加到my-view2元素的正确方法是什么?
src/my-view2.html
?
如果我在src/some-behavior.html
<script>
SomeBehavior = {
testing: function()
{ alert('hello'); }
}
</script>
然后在view2中导入
<link rel="import" href="some-behavior.html">
并将其包含在聚合物中
Polymer({
is: 'my-view2',
behaviors: [SomeBehavior]
});
并在html中添加一个按钮以调用我刚刚创建的新功能。
<button on-tap="testing">Test</button>
然后通过
构建聚合物应用程序 sudo polymer build # im using sudo because my permissions are wrong
然后使用
将build/bundled
目录部署到firebase
sudo firebase deploy # same dodgy permission problem
这适用于桌面: 我已经使用最新版本的Chrome,Firefox和Safari进行了检查。
但是在iOS上我遇到了一个问题,即view2页面没有加载。我已经在iPhone上测试了osx 9.3(我认为,无论如何都是最新的版本)然后在iPhone 4s,5s,6s的模拟器中进行测试
如果我从页面中删除行为,重建和部署,它将重新开始工作。
如果我运行聚合物棉绒,我会收到此警告
Behavior SomeBehavior not found when mixing properties into my-view2!
我做错了什么?
答案 0 :(得分:0)
根据Polymer Project Documentation,您需要在行为html文件中定义自己的命名空间,如下所示:
window.MyBehaviors = window.MyBehaviors || {};
MyBehaviors.SomeBehavior = { ... }
这会将MyBehaviors命名空间添加到全局窗口对象,因此可以从元素中将行为引用为“myBehaviors.SomeBehavior”。
我认为Polymer需要这样做以避免与当前和未来的Polymer行为发生冲突。